- Home
- Categorie
- Coding e Sistemistica
- PHP
- Creazione thumbmail da immagine
-
Creazione thumbmail da immagine
Ciao a tutti,
ho un form per l'inserimento di una foto in gallery (da cui vorrei caricare l'immagine ridimensionata a 700px max di larghezza e la sua thumbmail da 120px in larghezza sempre), il codice che mi carica e ridimensiona la foto a 700px funziona dopodichè mi blocco perchè da quella foto ottenuta non riesco a duplicarla ridimensionarla ulteriormente per creare la sua rispettiva thumb.Il codice è il seguente:
HTML:
<form name="upload" method="post" action="?action=upload_foto" enctype="multipart/form-data"> Upload immagine: <input name="uploadedfile" type="file" id="uploadedfile" class="select" /> <input type="hidden" name="max_file_size" value="500000" /> <br /><br /> <input type="submit" value="Carica foto" name="invia" /> </form>
PHP:
[PHP]
if($uploadedfile <> "none") {
$nome = rand(10000, 99999);
$uploadedfile_name = $nome. ".jpg";
$percorso = $_FILES['uploadedfile']['tmp_name'];
if(!move_uploaded_file($percorso, "foto/" . $uploadedfile_name)) { $flag = 1; } else { $flag = 0; }
}$fullsize = @imagecreatefromjpeg("foto/" . $uploadedfile_name);
$fullsize_height = @imagesy($fullsize);
$fullsize_width = @imagesx($fullsize);list($larg, $alt) = @getimagesize("foto/" . $uploadedfile_name);
if($larg > 700) $thumb_width = 700; else $thumb_width = $larg;$thumb_height = @floor($fullsize_height/($fullsize_width/$thumb_width));
$thumb = @imagecreatetruecolor($thumb_width,$thumb_height);
@imagecopyresampled($thumb,$fullsize,0,0,0,0,$thumb_width,$thumb_height,$fullsize_width,$fullsize_height);
@imagedestroy($fullsize);
@imagejpeg($thumb, "foto/" . $uploadedfile_name);
@imagedestroy($thumb);if($flag == 0) $path = "foto/" . $uploadedfile_name; else $path = "";
[/PHP]
-
Ciao mariolone,
se ho capito bene il tuo problema basta copiare il file con l'istruzione php:copy('img1', 'img2');
dove img2 è la nuova immagine da ridimensionare.
Oppure, nello script stesso, crei una seconda immagine con:
$fullsize2 = @imagecreatefromjpeg("foto/" . $uploadedfile_name);
Facci sapere se ho centrato il problema!
-
Si, vorrei anche dargli delle dimensioni più piccole rispetto quella più grande...chessò 120 x 90