Ciao a tutti, ho fatto questo script per il ridimensionamento delle immagini, ma c'è un problema: le immagini che stampo le salva normalmente nelle cache, ma il problema è che inizialmente, al ricaricare della pagina, apre quelle salvate nelle cache, poi, come se le sovrascrivesse, si vede l'immagine che viene ricaricata ancora. Dovrei scoprire se l'immagine è già salvata sulle cache, ma come si fa? Qualche consiglio?
Ecco lo script:
Codice PHP:
function OutThumb($src, $w, $h){
$size = getimagesize($src);
if( $size[2] == 2 ){$im = @imagecreatefromjpeg($src);}
elseif( $size[2] == 1 ){$im = @imagecreatefromgif($src);}
elseif( $size[2] == 3 ){$im = @imagecreatefrompng($src);}
$oldwidth = $size[0];
$oldheight = $size[1];
if($w == ''){
$newwidth = ($h / $oldheight) * $oldwidth;
}else{
$newwidth = $w;
}
if($h == ''){
$newheight = ($w / $oldwidth) * $oldheight;
}else{
$newheight = $h;
}
if($size[2] != 1){
$new = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($new, $im, 0, 0, 0, 0, $newwidth, $newheight, $size[0], $size[1]);
}
else{
$new = imagecreate($newwidth, $newheight);
imagecopyresized($new, $im, 0, 0, 0, 0, $newwidth, $newheight, $size[0], $size[1]);
}
header('Content-Type: ' . $size['mime']);
if( $size[2] == 2 ){@imagejpeg($new, '', 100);}
elseif( $size[2] == 1 ){@imagegif($new);}
elseif( $size[2] == 3 ){@imagepng($new);}
@imagedestroy($im);
@imagedestroy($new);
}
$path = $_GET['image'];
$w = $_GET['w'];
$h = $_GET['h'];
OutThumb($path, $w, $h);
E per richiamare lo script:
Codice HTML:
<img src="image.php?image=/immagini/1.png&w=100&h=100" />
Qualcuno sa aiutarmi?