簡単フォトギャラリースクリプトEzPhoto

ftpクライアントを立ち上げて、写真をアップロードするだけでフォトギャラリーを作れるCGIスクリプトです。
wordpressで写真を表示するためのプラグインもあります。

ダウンロード

EzPhoto

改版履歴

バージョン 日付 修正内容
1.00 20080526 公開

サンプルとスクリーンショット


1枚/1ページの例


5枚/1ページの例

Livedoor readerでのRSS表示例
RSS表示例

サンプル1
pokosho photo

機能

  • 画像をアップロードするだけでギャラリーができます。
  • テンプレートを編集することである程度自由にデザインができます。
  • RSS(2.0)を配信します。配信内容もテンプレートで編集できます。
  • ページングができます。
  • 設定を変更することで、1ページに表示する画像の枚数などを変更できます。
  • 毎回、新しい画像のチェックを行わず、サーバに優しい(はず)です。
  • URLパラメータmode=updateを指定することで即座に更新チェックを掛ける事もできます。

必要な環境

perl5.8以上
文字コードUTF-8を編集できるエディタ(sakura editorなど)

ライセンス

以下のCreative Commons Licenseです(商用利用、改変可(ただし、改変後もここと同じライセンスとします))。

Creative Commons License

Powered by EzPhotoを消さないで貰えると嬉しいです。
改変内容をお知らせして貰えると嬉しいです。

設置方法

強調表示してある項目が修正が必要なファイルです。

ファイル/ディレクトリ名 説明 パーミッション
Ezphoto.conf 主設定ファイルです。タイトル、更新チェック間隔、1ページ内の画像数、テンプレートの場所の指定などを設定できます。 644
index.cgi indexのcgiです。perlのパスをサーバに合わせて設定する必要があります。 755
EzPhoto.pm メインモジュールです。 644
log4perl.conf log4perlの設定です。デバッグ用です。設定を変更すると不可が大きくなるので変更しないでください。 644
RequesterMapping.yml リクエストとモジュールの対応ファイルです。拡張用です。変更しないでください。 644
sample.htaccess .htaccessファイルのサンプルです。index.cgiにdirectoryIndexを張ります。RSSファイルのファイルタイプを設定します。使用する際は、名前を.htaccessに変更する必要があります。 644
up 画像をアップロードするディレクトリです(設定で変更可能)。 755
その他(ディレクトリ,pmファイル) プログラム本体です。 644
template テンプレートを置く場所です(設定で変更可能)。サンプルのテンプレートが入っています。 644

EzPhotoのディレクトリのパーミッションは755にしてください。

デザイン方法

下記テンプレートファイル内で、特別な文字列を使ってテンプレートを作成できます。

ファイル名 説明
page.tmpl ページ全体の構造を示す。<HTML_HEAD>及び<HTML_BODY>を指定する必要があります。
htmlhead.tmpl HTMLヘッダのテンプレートです。
head.tmpl ページ上部のテンプレートです。
gallery.tmpl 画像1枚分のテンプレートです。複数枚表示する場合は繰り返し使われます。
pagerlink.tmpl ページャリンクです。<PAGER_START>~<PAGER_END>で囲まれた部分を繰り返し出力し、ページャを作成します。「~」部分では、<PAGER_LINK>を指定できます。
rss.tmpl RSS全体のテンプレートです。<RSS_FEED>及び<RSS_ITEM>を指定できます。
rss_feed.tmpl RSSのフィード情報のテンプレートです。
rss_item.tmpl RSSのitem1つ分のテンプレートです。
update_result.tmpl mode=updateを指定したときの結果表示用テンプレートです。

置換される文字列

サイト概要
文字列 説明
<PAGE_TITLE> ギャラリーのタイトル
<PAGE_DESC> ギャラリーの概要
<PAGE> 現在のページ番号
<LAST_UPDATE> 最終更新日
<LAST_CHECK_DATE> 最終更新チェック時刻
画像情報
文字列 説明
<IMAGE> 画像ファイルへのパス
<IMAGE_NAME> 画像ファイル名
<IMAGE_DATE> 画像アップロード日
<IMAGE_DATE_RSS> 画像アップロード日(RFC822)
<IMAGE_URL> 画像のURL
<IMAGE_NUM> 全画像枚数
RSS関連
文字列 説明
<LAST_UPDATE_RSS> 最終更新日(RFC822)
<LAST_CHECK_DATE_RSS> 最終更新チェック時刻(RFC822)
<RSS_FILE> RSSファイルへのパス。オートディスカバリに使用。
設定読み出し
文字列 説明
<SITE_URL> サイトのURL(EzPhotoの設置場所のURL)
<TMPL_DIR> テンプレートのディレクトリ
ページャ
文字列 説明
<PAGER_PREV> 前のページへのリンク先
<PAGER_NEXT> 次のページへのリンク先
<PAGER_START> ページャの開始位置を示す。pager.tmplのみで使用可能。
<PAGER_END> ページャの終了位置を示す。pager.tmplのみで使用可能。
<PAGER_LINK> ページャのリンク先。<PAGER_START>~<PAGER_END>間で使用可能。
<PAGER_NUM> ページ番号。<PAGER_START>~<PAGER_END>間で使用可能。
その他
文字列 説明
<HTML_HEAD> HTMLヘッダテンプレートの内容に置換される。page.tmplのみで使用可能。
<HTML_BODY> HTMLのBODY部分。page.tmplのみで使用可能。
<RSS_FEED> RSSのchannel情報。内部用でユーザは使わない。rss.tmplのみで使用可能。
<RSS_ITEM> RSSのitem情報。内部用でユーザは使わない。rss.tmplのみで使用可能。

FAQ

よくありそうな質問。

動かないんだけどッ!
perlのバージョン、ファイル/ディレクトリの権限を確認してください。mode=updateを指定して、更新をかけてみて下さい。
例:http://設置場所/index.cgi?mode=update
ちょw バグwww ふざけww
ごめんなさい。本ページにコメントを書いて貰えると助かります。余裕があったら直して送って下さい…。
ページャのデザインは変更できないの…? あと現在のページにはリンク出さないで欲しい…。
ページャの実装は意外と面倒でして…。要望が多ければ何とかします。
xxxがxxxだったらサイコーなのに!
このページにコメント付けて下さい。
文字化けるんだけどッ!
設定ファイル、テンプレートなど文字コードはUTF-8でお願いします。
ftpじゃなくてwebからもアップロードしたいんだけど…
別途アップローダスクリプトを使ってアップロードするようにしてみてはいかがでしょうか?
しょぼッ!www
こちらをどうぞ。fotologflicker