Ciao a tutti.
Vi spiego subito il mio problema, relativo alla creazione di una photo gallery.
Ho creato un semplice script che permette di creare delle thumb da delle immagini più grandi.
Vi posto immediatamente il codice php:
Codice PHP:
function MakeThumb($file){
$path_parts=pathinfo($file);
$extension=$path_parts['extension'];
$dir=$path_parts['dirname'];
$file_name=$path_parts['filename'];
if (!(file_exists($dir."/thumb")))
{
mkdir($dir."/thumb/", 0777);
chmod($dir."/thumb", 0777);
}
$src_img=false;
$thumb_file=$dir."/thumb/".$file_name."_thumb.".$extension;
if (!file_exists($thumb_file) || !CheckThumb($file,$thumb_file)){
if (preg_match('/jpg|jpeg/i',$extension)){
$src_img=imagecreatefromjpeg($file) or die ("Image not found!");
}
if (preg_match('/png/i',$extension)){
$src_img=imagecreatefrompng($file) or die ("Image not found!");
}
if (preg_match('/gif/i',$extension)){
$src_img=imagecreatefromgif($file) or die ("Image not found!");
}
if ($src_img) {
$width = imagesx($src_img);
$height = imagesy($src_img);
$twidth = 150; # width of the thumb 160 pixel
$theight = $twidth * $height / $width; # calculate height
$thumb = @imagecreatetruecolor ($twidth, $theight) or die ("Can't create Image!");
imagecopyresized($thumb, $src_img, 0, 0, 0, 0, $twidth, $theight, $width, $height);
if (preg_match('/jpg|jpeg/i',$extension)){
Imagejpeg($thumb,$dir."/thumb/".$file_name."_thumb.".$extension);
}
if (preg_match('/png/i',$extension)){
Imagepng($thumb,$dir."/thumb/".$file_name."_thumb.".$extension);
}
if (preg_match('/gif/i',$extension)){
Imagegif($thumb,$dir."/thumb/".$file_name."_thumb.".$extension);
}
}
}
return $thumb_file;
}
Lo scenario è il seguente: c'è una cartella principale(es:foto), con delle sottocartelle(es: natale, carnevale) e ognuna ha delle immagini.
Queste immagini vengo miniaturizzate e salvate nella sottocartella "thumb" (es:natale/thumb) allo stesso livello delle immagini.
Non so perchè, ma in locale funziona tutto, ovvero crea la cartella thumb e ci mette dentro le miniature come dovrebbe.
Invece su server non funziona :master: :master:
Crea la cartella thumb, ma vuota !!!!!!!!!
Credo sia un problema di permessi, ma la cartella contenitore di tutto (es:foto) è settata, imprudentemente, con 777, come del resto anche le altre sottocartelle (compresa thumb).