tornallindice | |
Webberie | |
WebbIta' Si realizzano siti web per: persone, scuole, comunità. Se non vuoi perdere tempo in installazioni, configurazioni dei gruppi di utenti, aggiunta di funzionalità particolari (tipo mercatino o social network) possiamo consegnarti il lavoro in pochi giorni e anche continuare ad amministrare il tuo sito oppure affiancarti nel lavoro di amministrazione.Se sei interessato oppure se hai semplicemente bisogno di consulenza scrivimi |
|
tornallindice | |
PHP - Scrivere in un file Quando un sito deve essere aggiornato frequentemente allora diventa davvero seccante stare a manipolare continuamente il codice. Se poi si ha anche a che fare con una notevole quantità di dati allora il lavoro diventa veramente faticoso per una persona sola. Con PHP è estremamente semplice scrivere del codice che permette di scrivere su file e quindi di aggiornare pagine web senza manipolare il codice oppure di fare upload di files. Ovviamente questo è vero se si gestiscono siti senza grossi problemi di sicurezza (anche se con qualche accortezza.. ;) Di seguito alcune indicazioni; ho realizzato le pagine su un server Win2K su cui girava PHP4.3.2. |
|
Allora, cosa è necessario:
|
|
Esempio |
|
Queste linee di codice, con qualche aggiustamento o.c., dovranno essere salvate in un file .php (file1.php nell'esempio) e consentono di scrivere su un file (nell'esempio in spazio1.inc, file incluso in index.html). | <?php
if ($fubmit) { $f=fopen ("spazio1.inc","w"); fputs ($f,$commento); fputs ($f,"<br>"); fclose ($f); } $f=fopen ("spazio1.inc","r"); while (!feof($f)) { $l=fgetc ($f); echo ($l); } fclose ($f); ?> <form action="file1.php" method="get"> <p>Inserisci il testo nell'area, e poi fai clik sul pulsante "Invia" per pubblicarlo. </p> <textarea name="commento" cols="25" rows="10"></textarea> <input name="submit" type="submit" value="invia"> </form> |
- Upload di file Se l'obiettivo invece è fare upload di files. |
|
Il codice a fianco
invece consente di effettuare l'upload di file guidando l'utente nell'operazione. Il file viene scaricato sul server e, nella pagina 'indice.html', viene aggiunta una data e un link al file scaricato (..quindi si potrebbe realizzare anche una specie di Forum ;). Ovviamente lo script è stato 'snellito' quindi, se non hai dimestichezza con PHP o con altri linguaggi di script ti consiglio di documentarti un po' prima di.. cimentarti; in rete troverai una marea di siti! Lo script non controlla se il file esiste sul tuo HD, né se è troppo lungo o ha estensioni 'pericolose'. Sotto con le if dunque! Buona fortuna :) |
<? $dl = ""; //aggiungi QUI l'indirizzo dove saranno scaricati i file $absolute_path = ""; //aggiungi QUI l'Indirizzo assoluto della cartella in cui saranno scaricati if (!isset($action)) { $action = ""; } switch($action) { default: echo" <html> <head> <title>1 - </title> </head> <body> <p>scrivi un messaggio per te o per l'utente che si colleghera' a questa pagina</p> <a href=$PHP_SELF?action=upload>Vai Avanti</a> </body> </html>"; break; case "upload": echo" <html> <head> <title>2 -</title> </head> <body> <form method=POST action=$PHP_SELF?action=doupload enctype=multipart/form-data> <p>File: <input type=file name=file size=50><br><br> Data: <select name=gg> <option value= selected> <option value=01 >01 <option value=02 >02 ......etc......... </select> <select name=mm> <option value= selected> <option value=gennaio >gen <option value=febbraio >feb ......etc......... </select> <br><br>Titolo: <input name=titolo size=120> <br><br><button name=submit type=submit> Upload </button> </form> </body> </html>"; break; //Upload vero e proprio case "doupload": $dir = "dir"; if ($file != "") { @copy($file, "$absolute_path/$file_name") or die("Il file che vuoi scaricare non puo' essere copiato sul server"); } else { die("Devi selezionare un file!"); } echo " <html> <head> <title>File Pubblicato</title> </head> <body>"; echo $file_name." è stato scaricato con successo:"; $f=fopen ("indice.html","a+"); $li=" $gg $mm <a href=$file_name>$titolo</a>"; fputs ($f,$li); fputs ($f,"<br>"); fclose ($f); echo "<br> </body> </html>"; break; } ?> |
tornallindice |