Sto facendo una pagina (semplice, direi!), tuttavia ho un problema che non riesco a risolvere.
Codice PHP:
function resize_image ($original_addr, $resized_addr, $new_height) {
list($width, $height, $type, $attr) = getimagesize($original_addr);
$new_width = round($width * $new_height / $height);
if (! $reduced = imagecreatetruecolor($new_width, $new_height)) die ('immagine non ridotta');
if (! $source = imagecreatefromjpeg($original_addr)) die ('errore su immagine sorgente');
imagecopyresized($reduced, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($reduced, $resized_addr, 75);
return;
}
Come si vede l'idea è di creare una immagine di dimensioni coerenti a un originale, secondo l'altezza richiesta. L'idea, tuttavia, è di caricare un'immagine dal computer di casa e vederla sul server in formato sperabilmente ridotto.
codice HTML:
<form name="upload" method="post" action="" enctype="multipart/form-data">
<input type="hidden" name="loader" value="true">
<input type="file" name="uploadfile">
<input type="submit" name="go" value="Carica">
</form>
Se per esempio avessi un'immagine 3000 x 900 scelta dal mio computer e la volessi caricare usando un'altezza di 400, scriverei qualcosa come:
codice:
resize_image ('$_FILES['uploadfile']['tmp_name'], './images/copertina.jpg', 540);
Bene, tutto questo funziona benissimo, tranne per il fatto che se cerco di visualizzare la nuova immagine subito di seguito mi appare una eventuale precedente immagine, anche se sul server c'è già quella nuova. Sembrerebbe un problema di cache, che però non so assolutamente come risolvere.
Qualche idea?
Grazie.