$W || $size[1] > $H) { $key_w = $W / $size[0]; $key_h = $H / $size[1]; ($key_w < $key_h) ? $keys = $key_w : $keys = $key_h; $out_w = $size[0] * $keys; $out_h = $size[1] * $keys; } else { $out_w = $size[0]; $out_h = $size[1]; } // 出力画像(サムネイル)のイメージを作成 $im_out = ImageCreateTrueColor($out_w, $out_h); // 元画像を縦横とも コピーします。 ImageCopyResampled($im_out, $im_in, 0, 0, 0, 0, $out_w, $out_h, $size[0], $size[1]); // ここでエラーが出る方は下2行と置き換えてください。(GD2.0以下 //$im_out = ImageCreate($out_w, $out_h); //ImageCopyResized($im_out, $im_in, 0, 0, 0, 0, $out_w, $out_h, $size[0], $size[1]); // サムネイル画像をブラウザに出力、保存 switch ($size[2]) { case 1 : if (function_exists('ImageGIF')) { ImageGIF($im_out); ImageGIF($im_out, $thumb_dir.$_GET["pic"]); } break; case 2 : ImageJPEG($im_out);ImageJPEG($im_out, $thumb_dir.$_GET["pic"]); break; case 3 : ImagePNG($im_out); ImagePNG($im_out, $thumb_dir.$_GET["pic"]); break; } // 作成したイメージを破棄 ImageDestroy($im_in); ImageDestroy($im_out); exit; } // ディレクトリ一覧取得、ソート $d = dir($img_dir); while ($ent = $d->read()) { if (eregi($ext, $ent)) { $files[] = $ent; } } $d->close(); // ソート natsort($files); $files2 = array_reverse($files); //ヘッダHTML echo <<
サムネイル一覧

HEAD; //print_r($files); $maxs = count($files)-1; $ends = $start+$page_def-1; $counter = 0; while (list($line, $filename) = each($files2)) { if (($line >= $start) && ($line <= $ends)) { $image = rawurlencode($filename); // サムネイルがある時はサムネイルへのリンク、それ以外はサムネイル表示、作成 if (file_exists($thumb_dir.$image)) $piclink = $thumb_dir.$image; else $piclink = $_SERVER["PHP_SELF"]."?cmd=min&pic=".$image; //メインHTML echo <<
$filename
EOD; $counter++; if (((($counter) % $cols) == 0)) echo "
"; } } echo "

"; //ページリンク if ($_GET["start"] > 0) { $prevstart = $_GET["start"] - $page_def; echo "<<前へ "; } if ($ends < $maxs) { $nextstart = $ends+1; echo " 次へ>>"; } echo "
レッツPHP! ソース
"; ?>