Fondatore
Messaggi: 256
Iscritto il: sab ott 11, 2008 11:00 pm
Località: Torremaggiore(Foggia),Italia
Conoscenze Informatiche: Ottime conoscenze del mondo phpnuke, dell'html, php, mysql, css, javascript(Tutto del web!),
discrete conoscenze grafiche, infarinatura di c ++
[PHP DA ZERO - LEZIONE 9]Funzioni: Parte 3 e $_FILES
Con php è possibile creare file,
eliminarli, modificarli, creare cartelle, eliminare files da cartelle e tante altre cose.
Ecco a voi la lista delle principali funzioni(ed esempi di utilizzi) per la gestione dei files.
fopen($filedaaprire, $mode); ( Apre un file )
fread($filedaleggere); ( Legge un file )
unlink($daeliminare); (Elimina un file )
file_exists($dacontrollare); ( Controlla se un file esiste)
is_writable($dacontrollare) (Controlla se un file è rescrivibile)
is_readable($dacontrollare) (Controlla se un file è leggibile)
is_file($dacontrollare); ( Ha la stesso uso di file_exists, controlla se è un file è un file, cioè se esiste)
fwrite ($testodascrivere, $fileincuiscrivere); (Scrive un file, eliminando pero' il vecchio contenuto )
file_get_contents ( Legge un file, si puo' usare al posto di fread, ma non ha bisogno di mettere fopen prima(a differenza di fread))
fputs ( Identico a fwrite)
fclose($filedachiudere) ( Chiude un file )
Iniziamo considerando fread(oltre che fclose e fopen)
Premettiamo una cosa.
Come avrete notato fopen ha il parametro $mode. Di solito si riempie w+ ( Quindi la funzione si usa cosi': fopen("file.txt", "w+"); ).
Quel parametro sta ad indicare la modalità di apertura file.
- Scrivendo w+ potrete sia leggere che scrivere il file
- Scrivendo w potrete solo scriverlo
- Scrivendo r potrete solo leggerlo
Ma andiamo al sodo.
Usando fread ( e fopen, fclose ) possiamo leggere il contenuto di un file di testo(php, txt, html) con php.
Ecco il codice:
Adesso consideriamo la funzione unlink e la funzione file_exists.
Adesso parliamo di fwrite.
Con questa funzione è possibile scrivere un file, eliminando però il vecchio contenuto.
Adesso parliamo della variabile predefinita $_FILES.
A cosa serve?
Semplice.
Per gestire i files provenienti da un form.
In parole povere: serve per fare un sistema di upload.
In un sistema di upload gli elementi fondamentali sono i seguenti:
- Form html con campo file e enctype multipart/form-data
- Funzione move_uploaded_file
- Variabile $_FILES
$_FILES['nomecampofile']['name']; //Mostra il nome "vero" del file caricato dall'utente con tanto di estensione
$_FILES['nomecampofile']['tmp_name']; //Mostra il nome temporaneo del file caricato dall'utente
$_FILES['nomecampofile']['type']; //Mostra il tipo di file caricato
In pratica(Ecco un codice completo per l'upload):
Nella prossima lezione parleremo del ciclo while e chiuderemo il capitolo della gestione dei files parlando delle funzioni per eseguire operazioni sulle cartelle e parlando di operazioni complesse con i files.
eliminarli, modificarli, creare cartelle, eliminare files da cartelle e tante altre cose.
Ecco a voi la lista delle principali funzioni(ed esempi di utilizzi) per la gestione dei files.
fopen($filedaaprire, $mode); ( Apre un file )
fread($filedaleggere); ( Legge un file )
unlink($daeliminare); (Elimina un file )
file_exists($dacontrollare); ( Controlla se un file esiste)
is_writable($dacontrollare) (Controlla se un file è rescrivibile)
is_readable($dacontrollare) (Controlla se un file è leggibile)
is_file($dacontrollare); ( Ha la stesso uso di file_exists, controlla se è un file è un file, cioè se esiste)
fwrite ($testodascrivere, $fileincuiscrivere); (Scrive un file, eliminando pero' il vecchio contenuto )
file_get_contents ( Legge un file, si puo' usare al posto di fread, ma non ha bisogno di mettere fopen prima(a differenza di fread))
fputs ( Identico a fwrite)
fclose($filedachiudere) ( Chiude un file )
Iniziamo considerando fread(oltre che fclose e fopen)
Premettiamo una cosa.
Come avrete notato fopen ha il parametro $mode. Di solito si riempie w+ ( Quindi la funzione si usa cosi': fopen("file.txt", "w+"); ).
Quel parametro sta ad indicare la modalità di apertura file.
- Scrivendo w+ potrete sia leggere che scrivere il file
- Scrivendo w potrete solo scriverlo
- Scrivendo r potrete solo leggerlo
Ma andiamo al sodo.
Usando fread ( e fopen, fclose ) possiamo leggere il contenuto di un file di testo(php, txt, html) con php.
Ecco il codice:
- Codice:
<?php
$fp = fopen("nomefile.txt", "w"); //Per prima cosa apriamo il file, scrivendo come modalità "w", in modo da poter leggerlo
$contenuto_file = fread($fp); //Dopodichè "leggiamo" il file e diamo alla variabile $contenuto_file come valore il risultato della funzione fread
fclose($fp); //Chiudiamo il file, serve più che altro per motivi di sicurezza.
?>
Adesso consideriamo la funzione unlink e la funzione file_exists.
Adesso parliamo di fwrite.
Con questa funzione è possibile scrivere un file, eliminando però il vecchio contenuto.
Adesso parliamo della variabile predefinita $_FILES.
A cosa serve?
Semplice.
Per gestire i files provenienti da un form.
In parole povere: serve per fare un sistema di upload.
In un sistema di upload gli elementi fondamentali sono i seguenti:
- Form html con campo file e enctype multipart/form-data
- Funzione move_uploaded_file
- Variabile $_FILES
$_FILES['nomecampofile']['name']; //Mostra il nome "vero" del file caricato dall'utente con tanto di estensione
$_FILES['nomecampofile']['tmp_name']; //Mostra il nome temporaneo del file caricato dall'utente
$_FILES['nomecampofile']['type']; //Mostra il tipo di file caricato
In pratica(Ecco un codice completo per l'upload):
- Codice:
<?php
echo "<form action='pagina.php' enctype='multipart/form-data' method='post'>";
echo "<input type='file' name='upload'/>";
echo "<input type='submit' name='carica' value='Carica File'/>";
echo "</form>";
if ($_POST['carica']){
//Se il tipo di file è un'immagine jpg o una gif o una png
if (($_FILES['type'] == "image/jpeg") or ($_FILES['type'] == "image/gif") or ($_FILES['type'] == "image/png"))
{
move_uploaded_file($_FILES['file']['tmp_name'], $_FILES['file']['name']);
//Con questa funzione il file verrà caricato dal computer dell'utente allo spazio web.
} else { //Altrimenti
echo "Estensione non consentita";
}
}
?>
Nella prossima lezione parleremo del ciclo while e chiuderemo il capitolo della gestione dei files parlando delle funzioni per eseguire operazioni sulle cartelle e parlando di operazioni complesse con i files.
