Originariamente inviato da dottwatson
hai ragione, c' erano delle sviste
[...]
dovrebbe funzionare adesso.ò...
Si, ma solo con un miracolo però. :rollo: ( )
@Juzam
dovresti rivedere un po' la funzione per il resize dell'immagine, magari iniziando a provare con questo esempio (leggermente modificato).
Codice PHP:
//variabili di configurazione
$cfg['srcpath'] = 'upload/';
$cfg['dstpath'] = 'miniature/';
$cfg['dest_width'] = 150;
$cfg['imgquality'] = 50;
//crea la miniatura del file indicato in $filename
function create_thumb($filename)
{
global $cfg;
$my_src_file = $cfg['srcpath'] . $filename;
$my_dst_file = $cfg['dstpath'] . $filename;
$src_img = imagecreatefromjpeg($my_src_file);
$size = getimagesize($my_src_file);
$src_width = $size[0];
$src_height = $size[1];
$quality = $cfg['imgquality'];
$dest_height = round(($cfg['dest_width'] * imagesy($src_img)) / imagesx($src_img));
$dst_img = imagecreatetruecolor($cfg['dest_width'], $dest_height);
imagecopyresized($dst_img, $src_img, 0, 0, 0, 0, $cfg['dest_width'], $dest_height,
imagesx($src_img), imagesy($src_img));
imagejpeg($dst_img, $my_dst_file, $quality);
imagedestroy($src_img);
imagedestroy($dst_img);
}
giusto per completare i test, aggiungi anche questo form per l'upload:
Codice PHP:
<?php
if(isset($_POST['submit'])) {
$filename = $_FILES['img']['name'];
$filename_tmp = $_FILES['img']['tmp_name'];
if(move_uploaded_file($filename_tmp, "upload/$filename")) {
create_thumb($filename);
echo 'Upload immagine (più thumb) eseguito correttamente.';
} else exit('Impossibile caricare il file.');
} else {
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<input type="file" name="img" />
<input type="submit" name="submit" />
</form>
<?php
}
?>
E' un esempio senza troppe pretese, nel senso che non c'è nessun tipo di controllo serio sui file in upload. Dovrebbe darti giusto l'idea di come poter andare avanti, con le dovute modifiche.