「写真日記」掲載写真一覧 その4 | 2008/04/30(水曜) |
|
4月12日の記事で ---------------------------------------------------------------- 元データ 198<><>2008/04/11(金曜)#hide#2008/04/12(Sat) 06:17<><><>キアゲハ<>先輩の ---<途中省略>--- >0<>.jpg<>200<>133<>.jpg<>200<>133<>.jpg<>200<>133<>
前後に「"」を付けて、Javascript で読み込めるように修正する "198<><>2008/04/11(金曜)#hide#2008/04/12(Sat) 06:17<><><>キアゲハ<>先輩の ---<途中省略>--- >0<>.jpg<>200<>133<>.jpg<>200<>133<>.jpg<>200<>133<>",
データの修正にはエクセルを使う ---------------------------------------------------------------- その後リアルタイムでデータの作成は・・・と、CGI 本体を検討してみたが如何せん私の知識ではどうしようもない
そこでPHP言語で作成することを検討し、何とか完成した PHPのソースは
<?php $fp = fopen("../joyful.log" , "r"); //-- joyfulyy_diary のデータファイル $fw = fopen("data.js", "w"); //-- 作成するデータファイル
//-- 各種文字列の設定 $q = '"' ;//-- ["] $e = '",' ;//-- [",] $n = "\n" ;//-- 改行 $s = "'" ;//-- [']
fwrite($fw ,$n); fwrite($fw ,"var f_data = new Array("); fwrite($fw ,$n); fwrite($fw ,$n);
while (($line = fgets($fp))) { //-- 元データの↓(\n)を取り除く $moji = rtrim($line) ;//-- 右側空白除去 (\n、\r、\t も除去)
//-- 画像の含まれているデータのみを data.js に作成する $jpg_pos = strpos($moji , ".jpg"); //-- .jpg の位置を求める
if($jpg_pos > 0){ //-- データの置換 ["] を ['] に変換 $moji = str_replace($q , $s , $moji);
//-- "210<><>・・・<>", のようにjavascriptで読み込める形式にデータを書き込む fwrite($fw ,"$q"); fwrite($fw ,"$moji"); fwrite($fw ,"$e"); fwrite($fw ,"\n"); } }
fwrite($fw ,"$q"); fwrite($fw ,"<><><><><>"); fwrite($fw ,"$q"); fwrite($fw ,"$n");
fwrite($fw ,")"); fwrite($fw ,"$n");
//-- ファイルを閉じる fclose($fp); fclose($fw);
?>
と言うことで、本体の中の[データ更新]をクリックするとデータを変換して data.js を作成する これでエクセルを使わなくてもデータを更新できる
苦労した点は 1.元データの↓(\n)を取り除く 2.データの置換 ["] を ['] に変換 の2点だった。特に本文の中に["]が含まれていると Javascript ではデータの区切りと判断してしまうためである
いずれにしても、これで掲載写真の一覧がスライドショウ等で見も事が出来るようになった 以前に少しPHPを勉強したがすっかり忘れていた 参考書(小さな文字で見るのに大変。ルーペで拡大しながら・・・)とにらめっこしながら、何とか実用になった 万歳 !!! と言うことだね
|
データの変換方法の変更 | 2008/05/01(木曜) |
|
元データ(joyful.log 78KB) 198<><>2008/04/11(金曜)#hide#2008/04/12(Sat) 06:17<><><>キアゲハ<>先輩の ---<途中省略>--- >0<>.jpg<>200<>133<>.jpg<>200<>133<>.jpg<>200<>133<>
このデータを 前後に「"」を付けて、更に一覧表示で使用しないデータを削除 "198<>2008/04/11<>キアゲハ<>.jpg<>200<>133<>.jpg<>200<>133<>.jpg<>200<>133<>",
このように変換するように修正した この結果 data.js は 78KB から 17KB と極端に縮小できた 掲載記事の説明文が多くの容量を占めていた |
|