Salve a tutti,
ho questa situazione dalla quale non riesco ad uscire...
Il seguente script funziona perfettamente per il resize delle immagini jpg ma, volendo gestire anche immagini con estensione gif e png, ho provato a gestire la problematica con switch... senza raggiungere alcun risultato... qualcuno ha qualche suggerimento ? Posto qui perché sono ormai diversi giorni che non riesco a venirne a capo...
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);
// continue only if this is a JPEG image
// if ( strtolower($info['extension']) == 'jpg' || 'GIF' || 'gif' || 'JPEG')
//{
// echo "Ho creato miniatura per immagine: {$fname}
";
switch($type)
{
case 1: $img = @imagecreatefromjpeg( "{$pathToImages}{$fname}" ); break;
case 2: $img = @imagecreatefrompng( "{$pathToImages}{$fname}" ); break;
case 3: $img = @imagecreatefromgif( "{$pathToImages}{$fname}" ); break;
}
// load image and get image size
// $img = @imagecreatefromjpeg( "{$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 );
// save thumbnail into a file
switch($type2)
{
case 1: @imagejpeg( $tmp_img, "{$pathToThumbs}{$fname}" ); break;
case 2: @imagepng( $tmp_img, "{$pathToThumbs}{$fname}" ); break;
case 3: @imagegif( $tmp_img, "{$pathToThumbs}{$fname}" ); break;
}
//@imagejpeg( $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);
?>
ah... dimenticavo... grazie