<!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>