Salve a tutti,
ho poi risolto il problema presentato. Ecco la soluzione: (ho utilizzato degli IF) cercherò poi di utilizzare uno SWITCH più elegante.
Codice PHP:
<?php
function createThumbs( $pathToImages, $pathToThumbs, $thumbWidth )
{
//$estensioni = array('jpg','jpeg','gif','GIF','JPG','JPEG');
// open the directory
$dir = @opendir( $pathToImages );
// loop through it, looking for any/all JPG files:
while (false !== ($fname = @readdir( $dir ))) {
// parse path for the extension
$info = pathinfo($pathToImages . $fname);
$fname = str_replace(" ", "", $fname);
$fname = str_replace("%20", "", $fname);
$ext = strtolower(substr($fname, strrpos($fname, "."), strlen($fname)-strrpos($fname, ".")));
$ext = str_replace(".","",$ext);
/*
switch($ext)
{
case 'jpeg': case'jpg': $img = @imagecreatefromjpeg( "{$pathToImages}{$fname}" ); break;
case 'png': $img = @imagecreatefrompng( "{$pathToImages}{$fname}" ); break;
case 'gif': $img = @imagecreatefromgif( "{$pathToImages}{$fname}" ); break;
}
// load image and get image size gestisce jpeg gif e png
*/
if (($ext == 'jpg') || ($ext == 'jpeg') || ($ext == 'JPG') || ($ext == 'JPEG')) {
$img = @imagecreatefromjpeg( "{$pathToImages}{$fname}" );
$width = @imagesx( $img );
$height = @imagesy( $img );
}
if (($ext == 'gif') || ($ext == 'GIF')) {
$img = @imagecreatefromgif( "{$pathToImages}{$fname}" );
$width = @imagesx( $img );
$height = @imagesy( $img );
}
if (($ext == 'x-png') || ($ext == 'png') || ($ext == 'PNG')) {
$img = @imagecreatefrompng( "{$pathToImages}{$fname}" );
$width = @imagesx( $img );
$height = @imagesy( $img );
}
// calculate thumbnail size
$new_width = $thumbWidth;
$new_height = @floor( $height * ( $thumbWidth / $width ) );
// create a new temporary image
$tmp_img = @imagecreatetruecolor( $new_width, $new_height );
// copy and resize old image into new image
@imagecopyresized( $tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height );
if (($ext == 'jpg') || ($ext == 'jpeg') || ($ext == 'JPG') || ($ext == 'JPEG')) {
@imagejpeg( $tmp_img, "{$pathToThumbs}{$fname}" );
}
if (($ext == 'gif') || ($ext == 'GIF')) {
@imagegif( $tmp_img, "{$pathToThumbs}{$fname}" );
}
if (($ext == 'x-png') || ($ext == 'png') || ($ext == 'PNG')) {
@imagepng( $tmp_img, "{$pathToThumbs}{$fname}" );
}
// }
}
// close the directory
@closedir( $dir );
}
// call createThumb function and pass to it as parameters the path
// to the directory that contains images, the path to the directory
// in which thumbnails will be placed and the thumbnail's width.
// We are assuming that the path will be a relative path working
// both in the filesystem, and through the web for links
createThumbs("img/","thumbs/",100);
?>