<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_Jis"> <title>データ( data.js )の作成</title> <LINK rel="stylesheet" href="hpbsite.css" type="text/css"> </head> <BODY bgcolor="#004800" text="#ffffff"> <P align = "center"> <h3>data.jsの作成</h3> data.js は photo フォルダーの中にあります <hr> <?php $photo_dir ="photo" ;//-- 写真フォルダー $data_js = $photo_dir . "/data.js" ;//-- 出力ファイル名 $thumbnail_type = "_s.jpg" ;//-- サムネイルの拡張子 $dir = opendir($photo_dir); $fw = fopen($data_js , "w") ;//-- 作成するデータファイル //-- 各種文字列の設定 $q = '"' ;//-- ["] $e = '",' ;//-- [",] $n = "\n" ;//-- 改行 $s = "'" ;//-- ['] $m = "<>" ;//-- 配列区切りマーク $t = "\t" ;//-- TAB $photo_sum = 0 ; //-- 写真の掲載枚数 //-- 先頭パラメータの書き込み $p_name = $t . "var p_name = " . $q . "タイトル" . $q . $n ; $pass = $t . "var pass = " . $q . "../../../../" . $q . " ;//-- 相対パス" . $n ; $back_menu = $t . "var back_menu = 5 ;//-- 1:蝶 2:自然 3:祭り 4:虫 5:花" . $n ; fwrite($fw , $n . $p_name . $pass . $back_menu); //-- 先頭部分の書き込み $head = $n . "var f_data = new Array(" . $n . $n ; fwrite($fw ,$head); //-- joyful.logの呼び出し while(($files = readdir()) !== FALSE) { $jpg_pos = strpos($files , ".jpg") ;//-- .jpg の位置を求める $jpg_pos_s = 0 + strpos($files , $thumbnail_type) ;//-- _s.jpg の位置を求める if($jpg_pos > 0 && $jpg_pos_s <= 0){ //-- 写真の縦横サイズを取得する。 $ff = $photo_dir . "/" . $files ; $size = getimagesize($ff) ;//-- 画像データを配列に取り込む $p_width = $size[0] ;//-- 写真の幅 $p_height = $size[1] ;//-- 写真の高さ //-- .jpg を取り除く $f_name = substr($files , 0 , $jpg_pos); $photo_sum++ ; //-- 掲載写真の総数 //-- データの作成 $write_dat = $q . $f_name . $m . $m . $p_width . "x" . $p_height . $m . $m . $e . $n ; //-- データの書き込み fwrite($fw ,"$write_dat"); //-- 確認用 //echo $photo_sum . " --> " . $write_dat . "<br>" ; } } //-- 最終データの書き込み $d = $n . $q . "<><><><><>" . $q . $n ; fwrite($fw ,$d); $d = ")" . $n . $n ; fwrite($fw ,$d); //-- ページの概要説明の書き込み $g1 = $t . "//-- ページの概要説明" . $n ; $g2 = $t . "var page_com = new Array(" . $n . $n ; $g3 = $t . $q . "複数行にページの内容を記入する" . $e . $n ; $g4 = $t . $q . " " . $e . $n ; $g5 = $t . $q . " " . $e . $n ; $g6 = $t . $q . " " . $q . $n ; $g7 = $t . ")" . $n . $n ; fwrite($fw ,$g1 . $g2 . $g3 . $g4 . $g5 . $g6 . $g7); //-- ファイルを閉じる fclose($fw); //----------------- サムネイルの作成 ------------------------------ set_time_limit(0); $img_path = $photo_dir . "/" ;//-- サムネイルを作る元画像のあるディレクトリ(必ず末尾は"/"で閉じる) $thumbnail_path = $photo_dir . "/" ;//-- サムネイルを保存するディレクトリ $thumbnail_h = 80; //サムネイルの高さ $dir = opendir($img_path); while(($img_name = readdir()) !== FALSE) { /* ,jpg 画像のみサムネイルを作成する 但しすでに作成されている場合は重複作成をしない その為の判断は _s.jpg の存在を確認する */ $jpg_pos = strpos($img_name , ".jpg") ;//-- .jpg の位置を求める $jpg_pos_s = 0 + strpos($img_name , $thumbnail_type) ;//-- _s.jpg の位置を求める if($jpg_pos > 0 && $jpg_pos_s <= 0){ $img_thumb = substr($img_name , 0 , $jpg_pos) . $thumbnail_type ; //-- サムネイルの有無のチェック 無ければ作成する chack == 1 有り $thumbnail = $thumbnail_path . $img_thumb ; $chack = file_exists($thumbnail); //-- サムネイルの作成する if($chack == 0){ //-- 写真の縦横サイズを取得する。 $ff = $img_path . $img_name ; $size = getimagesize($ff) ;//-- 画像データを配列に取り込む $img_w = $size[0] ;//-- 写真の幅 $img_h = $size[1] ;//-- 写真の高さ $img_r = $img_w / $img_h ;//-- 写真の縦横比 // $thumbnail_w = 90; //サムネイルの横幅 // $thumbnail_h = 80; //サムネイルの縦幅 $thumbnail_w = $thumbnail_h * $img_r ; create_thumbnail ( $img_thumb , $img_name, $img_path, $thumbnail_path, $img_w, $img_h, $thumbnail_w, $thumbnail_h ); } } } function create_thumbnail ( $img_thumb , $img_name, $img_path, $thumbnail_path, $img_w, $img_h, $thumbnail_w, $thumbnail_h ) { $src_img = @imagecreatefromjpeg ( $img_path.$img_name ); //サムネイル元 ※1 if ( $src_img ) { //サムネイル作成 $dst_img = imagecreatetruecolor ( $thumbnail_w, $thumbnail_h ); $result = imagecopyresampled ( //$result = imagecopyresized ( $dst_img, //貼り付けするイメージID $src_img, //コピーする元になるイメージID 0, //int dstX (貼り付けを開始するX座標) 0, //int dstY (貼り付けを開始するY座標) 0, //int srcX (コピーを開始するX座標) 0, //int srcY (コピーを開始するY座標) $thumbnail_w, //int dstW (貼り付けする幅) $thumbnail_h, //int dstH (貼り付けする高さ) $img_w, //int srcW (コピーする幅) $img_h //int srcH (コピーする高さ) ); //サムネイルをJPEG形式で保存 imagejpeg ( $dst_img, $thumbnail_path.$img_thumb ); imagedestroy ( $dst_img ); //サムネイル用イメージIDの破棄 imagedestroy ( $src_img ); //サムネイル元イメージIDの破棄 //html_p ( "サムネイルが作成されました。" ); echo "<img src=\"$thumbnail_path$img_thumb\" hspace=\"10\" vspace=\"10\">"; // html_p ( "<a href=\"$img_path$img_name\"><img src=\"$thumbnail_path$img_name\" alt=\"サムネイル\" /></a>" ); } else { html_p ( "error:サムネイル元になる画像が読み込めませんでした。" );//error exit (); } } function html_p ( $str ) { echo ( "<p>$str</>\n" ); } html_p ("サムネイルが更新されました。"); ?> <BR><BR> <A href = "photo_slide.html">■ ページの確認</A> </P> </body> </html>