apponをビルドできるPHPスクリプトは、jpgイメージでのみ動作します。
ディレクトリをスキャンし、イメージを適切な次元に正規化し、親指をオンザフライで作成し、次のリフレッシュ時に親指ディレクトリに既に存在するイメージを再処理する必要はありません。それが役に立てば幸い...
スクリプトの配置
Root>
thisscript.php
/images/
someimage.jpg
someimage2.jpg
thisscript.php
<?php
// config section
$path = "./images/";
$thpath = $path."thumbs/";
// end configration
// Open the directory
$do = dir($path);
// now check if the thumb dir is available if not, create it!!
if (!is_dir($thpath)){
mkdir($thpath);
}
$output = '<div>';
while (($file = $do->read()) !== false){
if (is_dir($path.$file)){
continue;
}else{
$info = pathinfo($path.$file);
$fileext = $info['extension'];
if (strtolower($fileext) == 'jpg'){
if (!is_file($thpath.$file)){
//Normalize Super lrg Image to 750x550
thumb_it($path, $file, $path,750,550,99);
//Make Thumb 200x125
thumb_it($path, $file, $thpath,200,125,99);
$output .='<p><a href="'.$path.$file.'"><img src="'.$thpath.$file.'" title="" alt="" /></a></p>';
}else{
$output .='<p><a href="'.$path.$file.'"><img src="'.$thpath.$file.'" title="" alt="" /></a></p>';
}
}
}
}
$output .='</div>';
echo $output;
//Functions
function thumb_it($dirn, $file, $thumbdir,$rwidth,$rheight,$quality){
set_time_limit(0);
$filename = $dirn.$file;
$thfilename = $thumbdir.preg_replace('/[^a-zA-Z0-9.-]/s', '_', $file);
// get the filename and the thumbernail directory
if (is_file($filename)){
// create the thumbernail from the original picture
$im = @ImageCreateFromJPEG($filename);
if($im==false){return false;}
$width = ImageSx($im); // Original picture width is stored
$height = ImageSy($im); // Original picture height is stored
if (($width < $rwidth) && ($height < $rheight)){
$n_height = $height;
$n_width = $width;
}else{
// saveing the aspect ratio
$aspect_x = $width/$rwidth;
$aspect_y = $height/$rheight;
if ($aspect_x > $aspect_y){
$n_width = $rwidth;
$n_height = $height/$aspect_x;
}else{
$n_height = $rheight;
$n_width = $width/$aspect_y;
}
}
$newimage = imagecreatetruecolor($n_width, $n_height);
// resizing the picture
imageCopyResized($newimage, $im, 0, 0, 0, 0, $n_width, $n_height, $width, $height);
// writing to file the thumbnail
if(file_exists($thfilename)){chmod($thfilename, 0777);}
Imagejpeg($newimage, $thfilename, $quality);
imagedestroy($newimage);
imagedestroy($im);
}
}
?>
あなたはいくつかの小さなにあなたのタスクを分割し、それらをステップ・バイ・ステップ解決する必要があります。 1つの固体の金属からロケットを作り上げる者は誰もいません – zerkms
元の画像のポップアップに便利なライトボックスhttp://lokeshdhakar.com/projects/lightbox2/ –