Ciao a tutti!! Rieccomi con un'altro problema con phpHo fatto un form upload immagini in php funziona tutto con fire fox ma mi da problemi con internet explorer e proprio non riesco a capire dove è il problema
, vi posto sotto i codici, questo e' il form:
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
Id Annuncio
<input type="text" name='annuncio' size="60" value="<? echo($row["idvendesi"]); ?>">
Descrizione:
<textarea name="descrizione" cols="20" rows="4"></textarea>
Immagine:
<input type="file" name="imagefile">
<input type="submit" name="Submit" value="Submit">
<?php
error_reporting(E_ALL);
if(isset($_POST['submit'])){
// faccio un po' di inclusioni...
@include 'config.php';
@require 'function.php';
// Creo una array con i formati accettati
$tipi_consentiti = array("image/gif","image/jpeg","image/png","image/jpg");
// verifico che il formato del file sia tra quelli accettati
if (@in_array($_FILES['imagefile']['type'], $tipi_consentiti)){
// copio il file nella cartella delle immagini
@copy ($_FILES['imagefile']['tmp_name'], $path_img . $_FILES['imagefile']['name']);
// recupero i dati dal form
$titolo = @addslashes($_POST['titolo']);
$descrizione = @addslashes($_POST['descrizione']);
$nome = @addslashes($_FILES['imagefile']['name']);
$path = $path_img . stripslashes($nome);
$tipo = @addslashes($_FILES['imagefile']['type']);
$autore = @addslashes($_POST['autore']);
$email = @addslashes($_POST['email']);
// creo la miniatura
@makeThumb($path_img,$path,$nome,$tipo);
// aggiorno il database
$query = "INSERT INTO images (Anuncio,Descrizione,Nome,Tipo) VALUES('$annuncio','$descrizione','$nome','$tipo') ";
$res = @mysql_query($query) or die (mysql_error());
@mysql_close($cn);
// Stampo a video un po' di informazioni
echo "Nome: ".$_FILES['imagefile']['name']."
";
echo "Dimensione: ".$_FILES['imagefile']['size']."
";
echo "Tipo: ".$_FILES['imagefile']['type']."
";
echo "Copia eseguita con successo.";
}else{
// stampo un messaggio di errore nel caso in cui il file sia di un formato non consentito
echo "Errore upload foto!!";
}
}
?>
</form>
ed il secondo e' function.php
<?php
function makeThumb($dir,$pic,$n,$t){
@list($width, $height, $type, $attr) = @getimagesize($pic);
$max_w = 100;
$max_h = 100;
$ratio = @min($max_w/$width,$max_h/$height);
// Verifico che l'immagine originale sia più grande delle dimensioni massime 100*100pxl
if ($ratio < 1){
// Individuo le nuove dimensioni da assegnare all'immagine
$w = @floor($ratio*$width);
$h = @floor($ratio*$height);
// creo una nuova immagine con le dimensioni appena calcolate
$thumb = @imagecreatetruecolor($w,$h);
if ($t == 'image/jpeg'){$temp = @imagecreatefromjpeg($pic);}
elseif ($t == 'image/gif'){$temp = @imagecreatefromgif($pic);}
elseif ($t == 'image/png'){$temp = @imagecreatefrompng($pic);}
// ridimensiono l'originale e salvo nella cartella di destinazione
@imagecopyresized($thumb,$temp,0,0,0,0,$w,$h,$widt h,$height);
if ($t == 'image/jpeg'){@imagejpeg($thumb,"$dir/tb_".$n, 75);}
elseif ($t == 'image/gif'){@imagegif($thumb,"$dir/tb_".$n, 75);}
elseif ($t == 'image/png'){@imagepng($thumb,"$dir/tb_".$n, 75);}
}
}
?>
Grazie