Hi guru!
da vari giorni mi sto arrovellando con un problema di upload file.
ho un codice che premetto gira sul mio mac.
premetto che non sono un esperto di sistema e di programmazione ma qualche riga l'ho scritta.
il problema dello script è che esegeue l'upload ma i file sono di dimensione 0 Kb
il codice della pagina che richiede è questo:
<form action="ser.php" method="post" enctype="multipart/form-data">
<table width="100%" border="0" cellpadding="1">
<tr>
<td>">File 1: *</td>
<td><input type="file" name="upfile1"><?php echo $_SESSION['file1ok']; ?></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td><button type="submit" value="Send your files" name"submit">Send your files</button>
il codice della pagina ser.php è:
$rootdir = $_SERVER["DOCUMENT_ROOT"] ."/eService/customer_task/";
$infile1 = $rootdir .$_FILES["upfile1"]["name"];
print_r($_FILES["upfile1"]);
echo "
FILE1: " .$_FILES["upfile1"]["name"];
echo "
size: ".$_FILES["upfile1"]['size'];
echo "
tmp_name: ".$_FILES["upfile1"]['tmp_name'];
echo "
error: ".$_FILES["upfile1"]['error'];
echo "
------file 1" .$infile1;
if(is_uploaded_file($_FILES["upfile1"]["tmp_name"])) {
chmod($_FILES["upfile1"]["tmp_name"], 0777);
//chmod($infile1, 0777);
move_uploaded_file($_FILES["upfile1"]["tmp_name"],$infile1)
or $_SESSION['file1ok'] = "Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload1.";
chmod($infile1, 0777);
} else {
$error = true;
$_SESSION['file1ok'] = "Problemi nell'upload del file " . $_FILES["upfile1"]["name"];
echo "prova upload fallita 1";
}
echo "
SESSIONE FILE 1 :" .$_SESSION['file1ok'];
di seguito in bold le funzioni incriminate:
is_uploaded_file($_FILES["upfile1"]["tmp_name"]) move_uploaded_file($_FILES["upfile1"]["tmp_name"],$infile1)
l'output che ottengo è:
Array ( [name] => Mercato_Immobiliare_Genova_Venezia_2012_2013.png [type] => image/png [tmp_name] => /tmp/phpkv1pxs [error] => 0 [size] => 222535 )
FILE1: Mercato_Immobiliare_Genova_Venezia_2012_2013.png
size: 222535
tmp_name: /tmp/phpkv1pxs
error: 0
------file 1/var/www/eService/customer_task/Mercato_Immobiliare_Genova_Venezia_2012_2013.png Warning: move_uploaded_file(): Unable to move '/tmp/phpkv1pxs' to '/var/www/eService/customer_task/Mercato_Immobiliare_Genova_Venezia_2012_2013.png' in /var/www/eService/match/ser.php on line 34
SESSIONE FILE 1 :Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload1.
il warning importante è
Warning: move_uploaded_file(): Unable to move '/tmp/phpkv1pxs' to '/var/www/eService/customer_task/Mercato_Immobiliare_Genova_Venezia_2012_2013.png'
le ho provate tutte:
nella directory /tmp esiste il file indicato (in questo caso /tmp/phpkv1pxs)
la directory /tmp ha i diritti 777
la directory /var/www è assegnata all'utente www-data (utente di apache)
la directory /var/www/eService/customer_task/ ha i permessi 777
vi chiedo un aiuto, forse è un problema di configurazione del server (UBUNTU Server 12.04) nel file php.ini oppure httpd.conf.
thanks in advance