Niente...proprio non capisco
Ho settato i permessi di scrittura e lettura per i file(in locale)
Ora salva sia l'immagine originale che qualla ridimensionata (tb_immagine.jpg/.png/.gif ecc) nella cartella "files".
Succede che , quando vado a visualizzare la gallery , mi da sempre lo stesso odioso problema (la x rossa sulla thumbnails).
Ho provato ad aprire una delle immagini "tb_" ridimensionate che ha salvato nella cartella , e mi da il seguente errore.
"Impossibile aprire il file. Errore interno"
(l'ho aperta con fireworks, mentre con il visualizzatore di immagini windows mi da il classico "anteprima non disponibile")
Re-posto il file php "function.php" che dovrebbe ridimensionare l'immagine e salvarla(cosa che fa , ma la fa male. Ovviamente nel mio caso:crying nella cartella che ho scelto
Mentre questa è la chiamata alla funzione makeThumb(appunto quella sopra) che si trova nel file php "form.php"
Ho settato i permessi di scrittura e lettura per i file(in locale)
Ora salva sia l'immagine originale che qualla ridimensionata (tb_immagine.jpg/.png/.gif ecc) nella cartella "files".
Succede che , quando vado a visualizzare la gallery , mi da sempre lo stesso odioso problema (la x rossa sulla thumbnails).
Ho provato ad aprire una delle immagini "tb_" ridimensionate che ha salvato nella cartella , e mi da il seguente errore.
"Impossibile aprire il file. Errore interno"
(l'ho aperta con fireworks, mentre con il visualizzatore di immagini windows mi da il classico "anteprima non disponibile")
Re-posto il file php "function.php" che dovrebbe ridimensionare l'immagine e salvarla(cosa che fa , ma la fa male. Ovviamente nel mio caso:crying nella cartella che ho scelto
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,$width,$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);}
}
}
?>
Mentre questa è la chiamata alla funzione makeThumb(appunto quella sopra) che si trova nel file php "form.php"
PHP:
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
Titolo:<br />
<input name="titolo" type="text" size="20"><br />
Descrizione:<br />
<textarea name="descrizione" cols="20" rows="4"></textarea><br />
Immagine:<br />
<input type="file" name="imagefile"><br />
<input type="submit" name="Submit" value="Submit">
<?php
@include 'function.php';
$titolo = @addslashes($_POST['titolo']);
$descrizione = @addslashes($_POST['descrizione']);
$nome = @addslashes($_FILES['imagefile']['name']);
$path = $path_img . stripslashes($nome);
$tipo = @addslashes($_FILES['imagefile']['type']);
// creo la miniatura
@makeThumb($path_img,$path,$nome,$tipo);
.
.
.
?>
Ultima modifica: