mi rivolgo di nuovo a voi utenti esperti di php per risolvere questa cosa che mi lascia perplesso (grazie di nuovo per la vostra pazienza e professionalità
vi posto questo pezzo di codice che dovrebbe caricare una serie di immagini jpeg o gif in locale (uso easy php 2.0) ma spesso ho problemi di immagine non caricata:
questo è il form che mostra come caricare le immagini
Codice PHP:
echo"<form name=\"uploadimm\" action=\"creazione.php\" method=\"post\" ENCTYPE=\"multipart/form-data\">";
echo"<table class=\"registrazione\">";
while($i <= $num)
{
echo"<tr>";
echo" <td><p align=\"center\">alternativa num." .$i ."</p> </td>";
echo" <td><input type=\"file\" name=\"alternativa" .$i ."\" size=\"50\"> </td>";
echo" <td><p align=\"center\">corretta</p> </td>";
echo" <td><input type=\"CHECKBOX\" name=\"yes" .$i ."\"> </td>";
echo"<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"800\">";
echo" <td>
</td>";
echo"</tr>";
$i++;
}
echo" <input type=\"hidden\" name=\"num\" value=\"" .$num ."\">";
echo" <input type=\"hidden\" name=\"mod\" value=\"" .$mod ."\">";
echo"<tr>";
echo" <td> <input type=\"reset\" name=\"resetta\" > </td>";
echo" <td> <input type=\"submit\" name=\"submit2\" value=\"invia\"> </td>";
echo" <td>
</td>";
echo"</tr>";
echo"</table>";
echo"</form>";
questo è la parte che controlla l'inserimento e copia i file nella cartella
Codice PHP:
$i = "1";
while($i <= $num)
{
$tmp = "alternativa".$i;
if(is_uploaded_file($_FILES[$tmp]['tmp_name']))
{
if ($_FILES[$tmp]['error'] == 2)
{
// errore, file troppo grande (> 800kB)
die("Errore, file troppo grande: il massimo consentito è 800kB");
}
if (strtolower($_FILES[$tmp]['type']) == "image/gif" || strtolower($_FILES[$tmp]['type']) == "image/jpeg" )
{
copy($_FILES[$tmp]['tmp_name'], "file_caricati/".$_FILES[$tmp]['name']) or die("Impossibile caricare il file");
echo "file caricato
";
}
else
{
echo"il file" .$tmp ."non è formato valido (jpeg o gif)
";
//header("Refresh: 3; url=http://localhost/creazione.php");
echo $_FILES['error'];
}
}//fine controllo se è uploadato
else
{
echo"alternativa" .$i ."non caricata
";
//header("Refresh: 3; url=http://localhost/creazione.php");
}//fine non uploadato
$i++;
}//fine while immagini
uso la funzione is_upload_file() e se ritorna false mi appare alternativa non caricata.
Il mio problema è che questo appare in modo randomico ovvero se per esempio carico 4 file 2 li carica e altri due no. :master:
La mia domanda è ci sono errori nel codice?
Ah questo potrebbe servirvi...
######php.ini####
file_uploads = On
upload_tmp_dir = "${path}\tmp\"
upload_max_filesize = 2M
post_max_size = 10M
###########
grazie davvero a tutti quelli che potranno darmi dei suggerimenti!