Salve a tutti,
Ho creato alcune pagine php che gestiscono l'ulpload di file image.
Il mio problema è che su firefox 3 funziona tutto meraviglia e con explorer 7 durante l'upload del file mi salta fuori il messaggio di errore che ho inserito "Il tipo di file non è ammesso" anche se il file rispecchia le specifiche (dimensione, estensioni, ecc..). Anche perchè come ho detto su firefox funziona tutto.
Vi posto il codice della pagina php che mi da l'errore sperando che qualcuno mi riesca a dare una mano.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Upload</title>
</head>
<body>
<div align="center">
<?php
if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;
$grandezzamax=2048000;
$tipidifile = array('image/gif','image/jpg','image/jpeg');
$directory_upload = $_SERVER["DOCUMENT_ROOT"] . "/mini/p";
?>
<?php
//porzione di codice opzionale, per ottenere alcune info sul file
//if ($HTTP_POST_VARS['submit'])
//print_r($_FILES)."
";; //stampa le info sul file
?>
<?php
if ($HTTP_POST_VARS['submit']) {
$messaggi=array();
$esisteva=array();
for($z=0;$z<count($_FILES['file']['tmp_name']);$z++) {
if (!is_uploaded_file($_FILES['file']['tmp_name'][$z])) {
$messaggio = "Non hai scelto nessun file da inserire";
}
else {
if ($_FILES['file']['size'][$z] > $grandezzamax) {
$messaggio = "Il file è troppo grande
grandezza massima consentita: ".($grandezzamax/1048576)." MB";
unlink($_FILES['file']['tmp_name'][$z]);
}
else {
$tipivalidati=0;
for($i=0;$i<count($tipidifile);$i++) {
if ($_FILES['file']['type'][$z] == $tipidifile[$i])
$tipivalidati++;
}
if($tipivalidati==0) {
$messaggio = "Il tipo di file non è ammesso";
unlink($_FILES['file']['tmp_name'][$z]);
}
else {
if( file_exists($directory_upload.$_FILES['file']['name'][$z]) )
//scrivere qui cosa fare nel caso il file esistesse
$esisteva[$z]="si";
else
$esisteva[$z]="no";
if ( copy($_FILES['file']['tmp_name'][$z] , $directory_upload.$_FILES['file']['name'][$z]) ) {
unlink( $_FILES['file']['tmp_name'][$z] );
//rename($directory_upload.$_FILES['file']['name'][$z],$directory_upload.$nomedelfile.".jpg");
//opzionale solo per cambiare il nome del file uppato
$messaggio="File inviato correttamente";
}
else
$messaggio="Errore durante l'upload";
}
}
}
$messaggi[$z]=$messaggio;
}
}
echo "
<table align='left' border='0' cellpadding='3' cellspacing='3'>";
echo "<tr><td align='left'>File</td><td align='left'>Messaggio</td><td align='left'>Esisteva</td></tr>";
for($z=0;$z<count($messaggi);$z++)
echo "<tr><td>".$_FILES['file']['name'][$z]."</td><td> ".$messaggi[$z]."</td><td>$esisteva[$i]</td></tr>";
echo "</table>";
?>
</div>
<form action="upload2.php" method="post" enctype="multipart/form-data" name="form1">
<h1 align="center"></h1>
<h1 align="center"></h1>
<h1 align="center">CARICAMENTO</h1>
<p align="center">Estensioni file accettati: JPG / JPEG / GIF
Dimensione Massima File: ...</p>
<p align="center">
<input name="file[]" type="file" id="file">
<input name="file[]" type="file" id="file">
</p>
<p align="center">
<input type="submit" name="submit" value="Invia">
</p>
</form>
</body>
</html>