Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-05-2010, 16:55   #1
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
[Generico] Pagina web che mostra e modifica files su disco

Salve a tutti,

ho un server Linux sul quale ho la seguente esigenza:
leggere il contenuto di un file, mostrarlo a video, apportarne delle modifiche, renderle permanenti su disco e lanciare uno scriptino in bash.

Sono disposto a usare diversi linguaggi (PHP,Python,Jsp,HTML), però non so bene come cominciare.

Nello specifico, dovrei aprire un file, contenente una lista di URL e mostrarlo a video. Questa lista deve poter essere modificabile, ovvero si devono poter aggiungere/rimuovere URL e una volta fatto questo si deve rendere permanente la modifica su disco. Successivamente, come dicevo prima è necessario che si avvii uno script.

Come potrei fare? Qualcuno mi da degli spunti su come iniziare?
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 01:41   #2
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
Idea buttata così, potrebbero esserci errori.

Per visualizzare/modificare/eliminare righe
- Fai qualche controllo per vedere se il file esiste, è leggibile e scrivibile
- Apri il file leggendo il contenuto di ogni riga in un array
- Dentro un form, cicli l'array e crei un textbox con il contenuto della riga (l'url), un id (magari l'url se univoco) più un pulsante per rimuovere la riga

Per aggiungere:
- Crei un bottone "generale" aggiungi che aggiunge una texbox per inserire un altro url.

Per salvare:
- un pulsante salva per salvare le modifiche, ossia aggiorni il contenuto dell'array con i valori che ti arrivano dalle textbox e riscrivi l'array nel file interamente.

consigli:
- il pulsante per far comparire un textbox io lo farei con javascript modificando il dom. Se fai fare un post, devi fare dei controlli per capire quale pulsante è stato premuto. E inoltre facendo il refresh della pagina, devi prevedere un meccanismo per salvare le altre textbox eventualmente modificate
- il pulsante rimuovi sarà problematico, perchè allo stesso modo dovrai salvare (nella sessione?) eventuali modifiche che l'utente ha fatto altre righe..
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 01:44   #3
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
Scusa ho letto adesso che probabilmente non devi modificare le righe ma solo aggiungere e rimuoverle... la cosa si fa più semplice cmq

Infatti:
- pulsante rimuovi riga fa un post, rimuove dall'array e riscrive l'array nel file
- pulsante aggiungi riga (con relativo textbox) aggiunge nell'array e lo riscrive nel file

Non ti servono pulsanti salva, ma devi tenere in considerazione il caso in cui due utenti modificano questa lista contemporaneamente...

Ciao
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 07:40   #4
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
Grande, ti ringrazio.
L'idea mi piace.

Appena posso inizio a buttare giù qualche riga di codice. Per quanto riguarda l'accesso concorrente non c'è problema: lo usa una persona sola.

Mentre rispondevo a questo post mi è venuta in mente un'altra idea. Siccome sono molto più ferrato in Java che in altri linguaggi, una Servlet o una JSP, come la vedi?
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 08:00   #5
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Anche GWT magari...
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 08:04   #6
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
Google API, mi sembra di capire...
Mmh, no vorrei evitare di usare API di web services esterni in questo caso.
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 10:34   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Con PHP si fa in pochi minuti
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 12:21   #8
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
Quote:
Originariamente inviato da cionci Guarda i messaggi
Con PHP si fa in pochi minuti
In ASP.net ancora di meno

Curiosità: c'è un modo per capire se il file è già aperto da un altro "utente" e bloccare ogni modifica? O bisogna trovare un escamotage tipo un lock su una tabella?
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 13:18   #9
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
ASP.net non lo conosco purtroppo.
PHP lo conosco poco per poterlo fare in pochi minuti!!!

Comunque intanto ho buttato giù qualche riga di codice stupidissima che mi legge il file una riga alla volta:
Codice:
<?php

$file=fopen("urls","r");  //apre il file "urls"
while (!feof($file)) {
	$buffer = fgets($file, 4096);
	echo "$buffer"; //riga letta
}
fclose ($file); #chiude il file

?>
L'unica cosa intanto, è che non mi va a capo ogni riga. Anche se metto "\n" attaccato alla variabile buffer non va.
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 13:30   #10
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Gremo Guarda i messaggi
In ASP.net ancora di meno
A parte che ho qualche dubbio su questa affermazione (con questo non voglio dire che php è meglio di Asp.Net, ma sicuramente è più "sbrigativo" per progetti brevi e sopratutto per progetti di questo tipo), ma gli serviva Linux.

Ultima modifica di cionci : 29-05-2010 alle 13:33.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 13:33   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da fbcyborg Guarda i messaggi
L'unica cosa intanto, è che non mi va a capo ogni riga. Anche se metto "\n" attaccato alla variabile buffer non va.
Per stampare i file metti tutto nel tag <pre> </pre>, oppure sostituisci "\n" con <br />.
Puoi leggere il file in una sola operazione:
http://php.net/manual/en/function.file.php
http://www.php.net/manual/en/functio...t-contents.php
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 13:37   #12
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
Quote:
Originariamente inviato da cionci Guarda i messaggi
A parte che ho qualche dubbio su questa affermazione (con questo non voglio dire che php è meglio di Asp.Net, ma sicuramente è più "sbrigativo" per progetti brevi e sopratutto per progetti di questo tipo), ma gli serviva Linux.
La curva di apprendimento di php è più breve, per asp ci vuole un pò di più, ma asp ti permette di fare le cose più velocemente se lo sai usare...è risaputo
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 13:44   #13
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
Quote:
Originariamente inviato da cionci Guarda i messaggi
Per stampare i file metti tutto nel tag <pre> </pre>, oppure sostituisci "\n" con <br />.
Puoi leggere il file in una sola operazione:
http://php.net/manual/en/function.file.php
http://www.php.net/manual/en/functio...t-contents.php
Sì grazie avevo visto che si può leggere il file in una botta sola. Solo che vorrei poterli trattare separatamente per poterli aggiungere/rimuovere.
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 13:47   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da fbcyborg Guarda i messaggi
Sì grazie avevo visto che si può leggere il file in una botta sola. Solo che vorrei poterli trattare separatamente per poterli aggiungere/rimuovere.
In che senso ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 13:47   #15
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Gremo Guarda i messaggi
La curva di apprendimento di php è più breve, per asp ci vuole un pò di più, ma asp ti permette di fare le cose più velocemente se lo sai usare...è risaputo
Leggi bene quello che ho scritto perché la tua affermazione non è in contrasto con la mia

<%@ Page Language="VB" Debug="true" %>
<script language="VB" runat="server">
Dim Reader As New System.IO.StreamReader(Server.MapPath("Ciao.txt"))
Response.Write(Reader.ReadToEnd())
Reader.Close
</script>

<?= file_get_contents("Ciao.txt") ?>
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 13:51   #16
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
Quote:
Originariamente inviato da cionci Guarda i messaggi
In che senso ?
In pratica stavo pensando di caricare la lista di URL (contenuta appunto nel file) dentro un'array. Questo per facilitare l'operazione di aggiunta/rimozione delle righe (ogni riga corrisponde ad un URL). Quindi ogni volta che "do l'OK" o comunque che voglio apportare le modifiche al file, sovrascrivo il contenuto del file con il contenuto dell'array.
Io farei una pagina del genere:
ogni riga un url, con un tasto rimuovi a fianco.
Alla fine, una textbox con tasto aggiungi, che mi aggiorna la pagina con l'URL aggiunto, e in fondo, un bottone salva.

Se c'è bisogno posso pure fare uno schema di come lo vorrei fare.
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 13:52   #17
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
Quote:
Originariamente inviato da cionci Guarda i messaggi
Leggi bene quello che ho scritto perché la tua affermazione non è in contrasto con la mia
Infatti infatti l'avevo solo sottolineato
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 13:54   #18
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da fbcyborg Guarda i messaggi
In pratica stavo pensando di caricare la lista di URL (contenuta appunto nel file) dentro un'array. Questo per facilitare l'operazione di aggiunta/rimozione delle righe (ogni riga corrisponde ad un URL). Quindi ogni volta che "do l'OK" o comunque che voglio apportare le modifiche al file, sovrascrivo il contenuto del file con il contenuto dell'array.
http://php.net/manual/en/function.file.php

Ultima modifica di cionci : 29-05-2010 alle 14:01.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 13:54   #19
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
Quote:
Originariamente inviato da fbcyborg Guarda i messaggi
Se c'è bisogno posso pure fare uno schema di come lo vorrei fare.
Quando si tratta di php e pagine complesse per quanto riguarda il flusso di esecuzione ti consiglio di fare appunto i driagrammi di flusso! E' un ottimo modo per documentare il codice...così' tra 2 settimane non impazzisci riguardando la pagina
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 14:01   #20
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Per modificare il file: http://php.net/manual/en/function.file-put-contents.php
Fai un implode con tutte le righe rimanenti. Ovviamente devi togliere dal vettore le righe che vuoi rimuovere.
Una cosa del genere:

$content = file("prova.txt");
unset $content[$x]; //rimuovi la riga di indice $x
array_push($content, $new_line."\n"); //aggiunge una riga in fondo
file_put_contents("prova.txt", implode($content));

Ultima modifica di cionci : 29-05-2010 alle 14:06.
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
Alcune partite NBA saranno trasmesse in ...
Intel Core 13000 e 14000 aumentano uffic...
Gemini sta per arrivare in Google Maps: ...
2 minuti per vedere le 27 offerte imperd...
Ray-Ban Meta Display: tecnologia sorpren...
Un mini PC a prezzo stracciato, non cerc...
Al via i coupon nascosti di ottobre: qua...
Ferrari Elettrica si aggiorna solo in of...
Doppio sconto sugli smartphone top Xiaom...
Samsung è sempre più prota...
ChatGPT ha pregiudizi politici? Ecco cos...
Un solo iPhone rubato ha portato alla sc...
Xiaomi 17 Ultra sta arrivando: ecco come...
Il Motorola Edge 70 non ha più se...
Alcuni Galaxy S26 utilizzeranno il chip ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:14.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v