$mtime1) $changed=1; } elseif (!file_exists(DIR_CACHE.$thumb)) { $changed=1; } if ($changed) { $filename=$img; $new_width=(int)@$w; $new_height=(int)@$h; $lst=getimagesize($filename); $image_width=$lst[0]; $image_height=$lst[1]; $image_format=$lst[2]; if ($image_format==1) { // Header("Content-Type:image/gif"); // readfile($filename); // exit; $old_image=imagecreatefromgif($filename); } elseif ($image_format==2) { $old_image=imagecreatefromjpeg($filename); } elseif ($image_format==3) { $old_image=imagecreatefrompng($filename); } else { echo $image_format . "image format"; //exit; } //$old_image=$filename; if (($new_width!=0) && ($new_width<$image_width)) { $image_height=(int)($image_height*($new_width/$image_width)); $image_width=$new_width; // $image_height=$new_height; } if (($new_height!=0) && ($new_height<$image_height)) { $image_width=(int)($image_width*($new_height/$image_height)); $image_height=$new_height; // $image_width=$new_width; } // $new_image=imageCreate($image_width, $image_height); // for old GDlib $new_image=imageCreateTrueColor(240, 240); $white = ImageColorAllocate($new_image, 240, 240, 240); ImageFill($new_image, 0, 0, $white); // imagecopyresampled // imageCopyResized (for old GDlib) imageCopyResampled( $new_image, $old_image, 0, 0, 0, 0, 240, 240, imageSX($old_image), imageSY($old_image)); // ? $exif = exif_read_data($img); //get the orientation $ort = $exif['Orientation']; //determine what oreientation the image was taken at switch($ort) { case 2: // horizontal flip $this->ImageFlip($dimg); break; case 3: // 180 rotate left $new_image = imagerotate($new_image, 180, -1); $old_image = imagerotate($old_image, 180, -1); break; case 4: // vertical flip $this->ImageFlip($dimg); break; case 5: // vertical flip + 90 rotate right $this->ImageFlip($new_image); $new_image = imagerotate($new_image, -90, -1); $old_image = imagerotate($old_image, -90, -1); break; case 6: // 90 rotate right $new_image = imagerotate($new_image, -90, -1); $old_image = imagerotate($old_image, -90, -1); break; case 7: // horizontal flip + 90 rotate right $this->ImageFlip($new_image); $new_image = imagerotate($new_image, -90, -1); $old_image = imagerotate($old_image, -90, -1); break; case 8: // 90 rotate left $new_image = imagerotate($new_image, 90, -1); $old_image = imagerotate($old_image, 90, -1); break; } // ? imageJpeg($new_image, DIR_CACHE.$thumb); imageJpeg($old_image, $img); } // Header("Content-type:image/jpeg"); readfile(DIR_CACHE.$thumb); exit; } // ---------------------------------------------------------------------- $init_dir="./"; if (IsSet($HTTP_GET_VARS['dir'])) { $dir=$HTTP_GET_VARS['dir']; $dir=preg_replace("/\.+/", ".", $dir); } if (IsSet($dir) && ($dir!=$init_dir)) { $directory=$dir; $tmp=array_reverse(explode('/', $dir)); array_shift($tmp); array_shift($tmp); $out['UP']=urlencode(implode('/', array_reverse($tmp))."/"); } else { $directory=$init_dir; } $dir=opendir($directory); $k=0; $on_row=IMAGES_ROW; if (file_exists($directory."files.txt")) { $data=LoadFile($directory."files.txt"); $lines=explode("\n", $data); for($i=0;$i$file, 'DIR'=>$directory, 'DESCRIPTION'=>$descriptions[$file], 'URL'=>urlencode($directory."$file/")); } if (!Is_file($directory."/$file")) continue; $ext=strtolower(substr($file, -3)); if ($ext!='gif' && $ext!='jpg') continue; $rec=array(); $rec["FILENAME"]=$file; $size=(int)(filesize($directory."/".$file)/1024); if ($size>1024) { $rec["SIZE"]=(((int)($size*100/1024))/100)." Mb"; } else { $rec["SIZE"]=$size." Kb"; } if (IsSet($descriptions[$file])) { $rec['DESCRIPTION']=$descriptions[$file]; } $rec["DIR"]=$directory; if (($k+1)%$on_row==0) { $rec['NEXT_ROW']=1; } $k++; $files[]=$rec; } // echo $image_format . " image format"; include('./template.php'); // ---------------------------------------------------------------------- function ImageFlip(&$image, $x = 0, $y = 0, $width = null, $height = null) { if ($width < 1) $width = imagesx($image); if ($height < 1) $height = imagesy($image); // Truecolor provides better results, if possible. if (function_exists('imageistruecolor') && imageistruecolor($image)) { $tmp = imagecreatetruecolor(1, $height); } else { $tmp = imagecreate(1, $height); } $x2 = $x + $width - 1; for ($i = (int)floor(($width - 1) / 2); $i >= 0; $i--) { // Backup right stripe. imagecopy($tmp, $image, 0, 0, $x2 - $i, $y, 1, $height); // Copy left stripe to the right. imagecopy($image, $image, $x2 - $i, $y, $x + $i, $y, 1, $height); // Copy backuped right stripe to the left. imagecopy($image, $tmp, $x + $i, $y, 0, 0, 1, $height); } imagedestroy($tmp); return true; } function LoadFile($filename) { // loading file $f=fopen("$filename", "r"); $data=""; if ($f) { $data=fread($f, filesize($filename)); fclose($f); } return $data; } ?>