Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-05-2010, 17: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, 02: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, 02: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, 08: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, 09: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, 09: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, 11: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, 13: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, 14: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, 14: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 14:33.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 14: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, 14: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, 14: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, 14: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, 14: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, 14: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, 14: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, 14: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 15:01.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 14: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, 15: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 15:06.
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Arianespace potrebbe lanciare il primo r...
Google Pixel 10a disponibile al prezzo m...
Microsoft Copilot nei guai: email riserv...
AOC a 399€ su Amazon: QD-OLED 240 Hz e 0...
La Cina ha recuperato dal mare il primo ...
Boeing CST-100 Starliner: la NASA rende ...
hiop e TaDa uniscono le forze per trasfo...
Thermal Grizzly mostra il Ryzen 7 9850X3...
AMD Ryzen 'Olympic Ridge' Zen 6 per desk...
Donald Trump renderà pubbliche in...
Prezzo mai visto da mesi: ECOVACS DEEBOT...
Non solo S26, Samsung sta per lanciare a...
Windows 11 avrà a breve uno Speed...
Ask Intel: l'assistente IA che ti aiuta ...
Nasce Freedom.gov: il portale USA per ag...
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: 00:10.


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