Problema nell'upload di un file

ciccio9999

Utente Attivo
16 Ago 2011
30
0
0
Salve a tutti! Non capisco per quale motivo non mi funziona l'upload del file:
questo è il form html:

PHP:
<center>
Inserire i dati:<br><br>
<form action="risultato.php" method="post" enctype="multipart/form-data" name="form1">
<table border="1">
<tr> 
<td align="center">Nome:</td>
<td><input type="text" name="nome" value="" size="40"></td>
</tr>
<tr> 
<td align="center">Foto:</td>
<td align="center"> <input name="userfile" type="file"></td>
</tr>
</table>
<br>
<input type="submit" value="Invia dati">
<input type="hidden" name="MAX_FILE_SIZE" value="1048576">
</form>
</center>

e questa è la pagina php:

PHP:
<?php



if($_FILES["userfile"]["size"]>1048576){

      echo "Il file e' piu' grande di 1MB<br>";

}

else{

      echo "Il file e' piu' piccolo di 1MB<br>";

}

if($_FILES["userfile"]["error"]>0){

      echo "C'e' un errore nell'upload<br>";

}

else{

      echo "Non ci sono errori di upload<br>";

}

$nome_temp = $_FILES["userfile"]["tmp_name"];

chmod($nome_temp,  0777); 

echo "Il nome temporaneo del file e' $nome_temp<br>";

$nome = $_FILES["userfile"]["name"];

echo "Il nome del file e' $nome<br>";

$formato = $_FILES["userfile"]["type"];

echo "Il formato del file e' $formato<br>"; 

$percorso = "immagini/".$_FILES['userfile']['name'];



if(move_uploaded_file($nome_temp,$percorso))

echo "Il file e' stato copiato<br>";

else

echo "Il file non e' stato copiato<br>";



echo "Il percorso è: ".$percorso;

echo "<br>Ecco l'immagine:<br>";

echo "<img src=\"immagini/\"$percorso>"; 



?>

Prendo il file 3438.jpg
Ecco cosa mi stampa:

Il file e' piu' piccolo di 1MB
Non ci sono errori di upload
Il nome temporaneo del file e' /tmp/phpux8V5a
Il nome del file e' 3438.jpg
Il formato del file e' image/jpeg
Il file non e' stato copiato
Il percorso è: immagini/3438.jpg
Ecco l'immagine:


E l'immagine non me la fa vedere. Perchè?
 
Non ti fa vedere l'immagine perchè "Il file non e' stato copiato".
Controlla che la cartella "immagini" esista e che l'utente di Apache abbia i permessi di scrittura su questa cartella.
 
Ciao! Grazie per aver risposto! Lo stesso codice sul server altervista funziona e mi fa vedere l'immagine.
Evidentemente allora è un problema locale...
Ti dico subito che sto usando ubuntu...
Mi spieghi come abilitare i permessi? E che devo abilitare di preciso? Grazie
 
Per quanto riguarda i permessi stile UNIX qui trovi una spiegazione del loro significato e di come manipolarli. Tieni presente che su ubuntu l'utente sotto cui gira Apache si chiama "www-data".
Ovviamente prima di tutto la cartella "immagini" deve anche esistere, eh!!
 

Discussioni simili