ciao ragazzi!
Scusate ma non trovo l'errore che ho commesso...
Allora io ho la possibilita di inserire 15 foto in un form con questo codice:
<?php for ($i=0;$i<5;$i++) {
$j=$i*3;
?>
<td><span class="testoAdmin">
<input name="img[<?php echo $j;?>]" type="file" class="testoAdmin" id="img[<?php echo $j;?>]" size="2" onChange="update(false,<?php echo $j;?>);">
</span></td>
<td><span class="testoAdmin"><img src="/images/fotono.gif" name="i<?php echo $j;?>" id="i<?php echo $j;?>"></span></td>
<td><span class="testoAdmin">
<input name="img[<?php echo $j+1;?>]" type="file" class="testoAdmin" id="img[<?php echo $j+1;?>]" size="2" onChange="update(false,<?php echo $j+1;?>);">
</span></td>
<td><span class="testoAdmin"><img src="/images/fotono.gif" name="i<?php echo $j+1;?>" id="i<?php echo $j+1;?>"></span></td>
<td><span class="testoAdmin">
<input name="img[<?php echo $j+2;?>]" type="file" class="testoAdmin" id="img[<?php echo $j+2;?>]" size="2" onChange="update(false,<?php echo $j+2;?>);">
</span></td>
<td><span class="testoAdmin"><img src="/images/fotono.gif" name="i<?php echo $j+2;?>" id="i<?php echo $j+2;?>"></span></td>
</tr>
<?php } ?>
di questo codice fate caso soltanto ai nomi degli input che tanto è scritto bene, poi una volta che seleziono il tasto inserisci, dovrei inserire nel database i dati di un immobile, fin qui tutto bene, il problema è quando devo controllare se l'utente vuole inserire immagini e quindi fare l'upload... il codice è il seguente:
$id = mysql_insert_id();
chdir("foto");
$newname = "foto";
$max_foto_size = 3197152;
for ($numb=0;$numb<15;$numb++)
{
unset($foto);
if ( strlen($_FILES["img"]["name"][$numb]) != 0)
{
$foto = $_FILES["img"]["name"][$numb];
$foto_name = $_FILES["img"]["name"][$numb];
$foto_dirname = $_FILES["img"]['tmp_name'][$numb];
$foto_type = $_FILES["img"]['type'][$numb];
$foto_size = $_FILES["img"]['size'][$numb];
$errors = array();
//verifico se il file è stato caricato correttamente
if(!is_uploaded_file($foto_dirname))
$errors[] = 'Si sono verificati errori durante l\'upload.';
if($foto_size > $max_foto_size)
$errors[] = 'Immagine troppo pesante la dimensiome massima consentita è: <b>' . $max_foto_size . '</b> bytes.';
if($foto_type != "image/gif" && $foto_type != "image/pjpeg" && $foto_type != "image/jpeg")
$errors[] = 'L\'immagine deve essere del formato JPEG o GIF.';
// Se ci sono errori li comunico all utente e ritorno senza caricare la foto
if(count($errors) > 0)
return ($errors);
if (!move_uploaded_file($foto_dirname, $foto_name))
{
$errors[] = 'Errore durante il caricamento dell\'immagine.';
return ($errors);
}
$trova_punto = explode(".", $foto_name);
$estensione = $trova_punto[count($trova_punto) -1];
$newfilename = $newname . $id . "-" . $numb . "." . $estensione;
rename($foto_name, $newfilename);
}
}
I messaggi di errori sono i seguenti:
Warning: move_uploaded_file(casa_esterno2.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in D:\Inetpub\webs\ilmiositoit\server.php on line 246
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\PHP\upload\phpCEC9.tmp' to 'casa_esterno2.jpg' in D:\Inetpub\webs\ilmiositoit\server.php on line 246
*ERRORE: Errore durante il caricamento dell'immagine.
Per piacere mi sento proprio abbattuto
Scusate ma non trovo l'errore che ho commesso...
Allora io ho la possibilita di inserire 15 foto in un form con questo codice:
<?php for ($i=0;$i<5;$i++) {
$j=$i*3;
?>
<td><span class="testoAdmin">
<input name="img[<?php echo $j;?>]" type="file" class="testoAdmin" id="img[<?php echo $j;?>]" size="2" onChange="update(false,<?php echo $j;?>);">
</span></td>
<td><span class="testoAdmin"><img src="/images/fotono.gif" name="i<?php echo $j;?>" id="i<?php echo $j;?>"></span></td>
<td><span class="testoAdmin">
<input name="img[<?php echo $j+1;?>]" type="file" class="testoAdmin" id="img[<?php echo $j+1;?>]" size="2" onChange="update(false,<?php echo $j+1;?>);">
</span></td>
<td><span class="testoAdmin"><img src="/images/fotono.gif" name="i<?php echo $j+1;?>" id="i<?php echo $j+1;?>"></span></td>
<td><span class="testoAdmin">
<input name="img[<?php echo $j+2;?>]" type="file" class="testoAdmin" id="img[<?php echo $j+2;?>]" size="2" onChange="update(false,<?php echo $j+2;?>);">
</span></td>
<td><span class="testoAdmin"><img src="/images/fotono.gif" name="i<?php echo $j+2;?>" id="i<?php echo $j+2;?>"></span></td>
</tr>
<?php } ?>
di questo codice fate caso soltanto ai nomi degli input che tanto è scritto bene, poi una volta che seleziono il tasto inserisci, dovrei inserire nel database i dati di un immobile, fin qui tutto bene, il problema è quando devo controllare se l'utente vuole inserire immagini e quindi fare l'upload... il codice è il seguente:
$id = mysql_insert_id();
chdir("foto");
$newname = "foto";
$max_foto_size = 3197152;
for ($numb=0;$numb<15;$numb++)
{
unset($foto);
if ( strlen($_FILES["img"]["name"][$numb]) != 0)
{
$foto = $_FILES["img"]["name"][$numb];
$foto_name = $_FILES["img"]["name"][$numb];
$foto_dirname = $_FILES["img"]['tmp_name'][$numb];
$foto_type = $_FILES["img"]['type'][$numb];
$foto_size = $_FILES["img"]['size'][$numb];
$errors = array();
//verifico se il file è stato caricato correttamente
if(!is_uploaded_file($foto_dirname))
$errors[] = 'Si sono verificati errori durante l\'upload.';
if($foto_size > $max_foto_size)
$errors[] = 'Immagine troppo pesante la dimensiome massima consentita è: <b>' . $max_foto_size . '</b> bytes.';
if($foto_type != "image/gif" && $foto_type != "image/pjpeg" && $foto_type != "image/jpeg")
$errors[] = 'L\'immagine deve essere del formato JPEG o GIF.';
// Se ci sono errori li comunico all utente e ritorno senza caricare la foto
if(count($errors) > 0)
return ($errors);
if (!move_uploaded_file($foto_dirname, $foto_name))
{
$errors[] = 'Errore durante il caricamento dell\'immagine.';
return ($errors);
}
$trova_punto = explode(".", $foto_name);
$estensione = $trova_punto[count($trova_punto) -1];
$newfilename = $newname . $id . "-" . $numb . "." . $estensione;
rename($foto_name, $newfilename);
}
}
I messaggi di errori sono i seguenti:
Warning: move_uploaded_file(casa_esterno2.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in D:\Inetpub\webs\ilmiositoit\server.php on line 246
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\PHP\upload\phpCEC9.tmp' to 'casa_esterno2.jpg' in D:\Inetpub\webs\ilmiositoit\server.php on line 246
*ERRORE: Errore durante il caricamento dell'immagine.
Per piacere mi sento proprio abbattuto