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