Non riesco a cavarne piede... Ho questo codice:
Codice PHP:
function make_thumb($id, $path, $ext, $desired_width = 200)
{
if (!($src = check_file($id, $path, true, $ext)))
{
return;
}
$path_upload = $path . 'thumbs/';
switch ($ext)
{
case 'jpg':
case 'jpeg':
$source_image = imagecreatefromjpeg($src);
break;
case 'png':
$source_image = imagecreatefrompng($src);
break;
case 'bmp':
$source_image = imagecreatefromwbmp($src);
break;
case 'gif':
$source_image = imagecreatefromgif($src);
break;
}
$width = imagesx($source_image);
$height = imagesy($source_image);
$desired_height = floor($height * ($desired_width / $width));
$virtual_image = imagecreatetruecolor($desired_width, $desired_height);
imagecopyresized($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height);
if (!is_dir(check_path($id, $path_upload)))
{
if (!mkdir(check_path($id, $path_upload)))
{
return;
}
}
$final_name = check_file($id, $path_upload, true, $ext);
switch ($ext)
{
case 'jpg':
case 'jpeg':
imagejpeg($virtual_image, $final_name, 100);
break;
case 'png':
imagepng($virtual_image, $final_name, 100);
break;
case 'bmp':
imagewbmp($virtual_image, $final_name);
break;
case 'gif':
imagegif($virtual_image, $final_name);
break;
}
imagedestroy($virtual_image);
}
Quando faccio l'upload mi viene restituito il codice ASCII dell'immagine stampato a video!
PS: la funzione check_path() mi restituisce semplicemente la path in cui è caricata l'immagine da cui generare l'anteprima!