Avendo questo Form che permette all'utente di caricare una foto/immagine
codice:
<form name="upload" method="post" action="upload.php" enctype="multipart/form-data">
<table align="center">
<td nowrap align="right">Foto</td>
<td><input type="hidden"></td>
<td><input type="file" name="uploadfile"> |</td>
<td><input type="submit" name="go" value="Carica"></td>
</table>
</form>
Ed il seguente codice PHP
Codice PHP:
<?php
// controllo che non ci siano stati errori nell'upload (codice = 0)
if ($_FILES['uploadfile']['error'] == 0){
// upload ok
// controllo che il file sia in formato gif
if ($_FILES['uploadfile']['type'] != "image/jpeg") die("Formato file non valido, è permesso solo il formato gif");
// copio il file dalla cartella temporanea a quella di destinazione mantenendo il nome originale copy($_FILES['uploadfile']['tmp_name'], "file_caricati/".$_FILES['uploadfile']['name']) or die("Impossibile caricare il file");
// upload terminato, stampo alcune info sul file echo "[b]Upload terminato con successo[/b]
Le Informazioni riguardanti il File che hai appena caricato sono:
";
echo "Nome file: ".$_FILES['uploadfile']['name']."
";
echo "Dimensione file: ".$_FILES['uploadfile']['size']."
";
echo "Tipo MIME file: ".$_FILES['uploadfile']['type'];
}
else{
// controllo il tipo di errore
if ($_FILES['uploadfile']['error'] == 2){
// errore, file troppo grande (> 1MB)
die("Errore, file troppo grande: il massimo consentito è 1MB");
}
else{
// errore generico
die("Errore, impossibile caricare il file");
}
}
?>
Permette di mostrare le informazioni sull'immagine/foto caricata. Inoltre copia la foto nella cartella: "file_caricati"
I problemi sono:
- cosi il codice PHP permette di leggere solo il formato .jpeg, come permettere di leggere più formati?
- come fare per far comparire la foto/immagine caricata in una determinata zona della pagina del sito, anziche una cartella?