デジタランド - TopPage CGI & PHP & JavaScript - リンク


TopPage >> CGI & PHP >> PHOTO-STATION IM
データご利用について


PHOTO-STATION IM Perl-CGI ◇ 画像管理

■ファイル更新履歴
●2004/05/31 : Ver.1 (Build101)
  ※Diary ページの写真に対するコメントが BBS にフィードバックされないバグを修正。
  ※幾つかのページでスペーサー画像 ”sp.gif” が正しく表示されないバグを修正。

●2004/02/10 : Ver.1 (Build100)公開

■ご注意
 この CGI は、ログファイル類を全て CGI によって自動作成する仕様となっており、何よりアップロードする画像ファイル(JPEG)は常に新規にサーバ内にコピーされます。 そのため、CGI による新規ファイルの生成が認められていないサーバではこの CGI は動作しませんのでご注意下さい。
 また、ImageMagick がインストールされていないサーバではこの CGI は動きませんのでご注意下さい。

■ご利用規定
 万一、この CGI を利用することにより利用者の方に何らかの不利益等が発生しても、作者は一切の責を負いませんので、その旨、あらかじめご了承下さい。


▼このシステムの仕様
●動作環境 Perl CGI が動作し、CGI によるファイル生成が行えるサーバ環境
●文字コード Shift-JIS
●ログ拡張子 データファイル:*.dat // 画像ファイル:*.jpg
●Cookie 3種類のクッキーを発行
●主対象ブラウザ Microsoft Internet Explorer Ver.5 以降
●その他 ImageMagick の利用により、自動的にサムネイル画像を生成し、また撮影情報を自動的に取得します。


▼このシステムの特徴

●1 ImageMagic を利用して自動的にサムネイル画像を生成します
メイン画像をアップロードすることにより、自動的にその画像の縮小サムネイルをサーバ内に作成します。 またサーバ容量を節約するため、メイン画像そのものに対しても、
■加工無し(アップされた画像をそのままメイン画像として利用)
■縦横サイズはそのままで、容量のみ約 1/3 に削減。
 (但しメイン画像の画質モードが Fine 相当の場合。最初から容量調整が
  行われた画像をメイン画像としてアップした場合は、ほとんど変わらない
  場合もあります)
■縦横の大きい方の最大ピクセルを指定し、そのサイズまでリサイズ。
を指定することが出来ます。
●2 複数のアルバムを作成・管理できます。
テーマ毎にアルバムを作成できて、そのアルバム毎に作品を登録・管理できます。
●3 訪問者数をカウントします
登録された作品、1作品毎に、その作品の閲覧者数をカウントします。

以上まではPHOTO-GALLERY と同じです


●4 Gallery Top ページに、他サイトアルバムへのリンク設定が行えます
CANON の iMAGE Gateway 等、他サイトでもアルバムを公開されている方は、それらアルバムへのリンクを簡単に設定・表示することが出来ます。
●5 PhotoBBS 機能の、利用・非利用、及び利用モードが指定できます
画像アップロード掲示板が追加・リレーションされました。
この掲示板に関して
■1:通常の画像アップロード掲示板モード。
■2:1に加えて、管理者が Gallery で公開する写真に対して、閲覧者が
   コメントを付けることが出来るようにするモード。
   コメントが付いた場合、Gallery での表示はそのままに、自動的にBBS
   側でもログとして扱われるようになります。
■3:2の機能だけで、訪問者は投稿出来ないモード。
を設定出来ます。
●6 PhotoDiary 機能の、利用・非利用、及び利用モードが設定できます
同様に、写真日記の機能が追加・リレーションされました。
この写真日記に関して、
■1:通常の写真日記システムとしてのモード。
■2:その日記内に登録される写真に対して、閲覧者がコメントを付けることが
   出来るようにするモード。
を設定出来ます。
なおこの Diary は、管理人は、画像と本文の両方、あるいはどちらかを指定されていれば日記として登録が行えますが、■2に設定した場合、画像が登録されていない日記に対しては閲覧者はコメントを返すことは出来ません。あくまでも主体は写真となります。
なお、閲覧者が Diary ページを訪れた際は、訪問月のログは降順(その日の日記が一番上に来ます)で、その他の月(過去ログ)は昇順(1日から順)に表示されます。
●7 Gallery、BBS、Diary それぞれにアクセスカウンタが付きました
Gallery ページ、BBS ページ、Diary ページそれぞれのトップページに、それらトップページへのTOTAL、Yesterday、Today のアクセスカウンタが表示されるようになりました。
また、Gallery ページは必ずカウンタが表示されますが、BBS と Diary に関してはカウンタの利用&表示・非利用&非表示が設定できます。
なお、これらのカウンタは重複カウントを防止します。
●8 作品毎の閲覧者数カウンタを、そのページに表示・非表示を設定
Gallery の各作品毎に閲覧者をカウントしますが、そのカウント数を、その作品ページに表示させるかどうかを指定できるようになりました。
但し、これは重複カウントを防止しませんので、これを表示させる設定にすることにより、閲覧者が故意にページ更新を繰り返して、結果的に精度の低いカウントデータになる可能性があります。
●9 Gallery の、サムネイル画面の表示モードを閲覧者がそれぞれに設定可能
Gallery ページの各アルバムのトップページで、PHOTO-GALLERY はサムネイルのみの表示でしたが、タイトルと説明を加えた簡易説明表示のモードを閲覧者が個々に設定できるようになりました。
●10 撮影情報を自動的に取得します
登録された JPEG 画像から、画像に埋め込まれた以下の撮影情報を自動的に抽出取得します。
 ・機種名
 ・撮影年月日
 ・焦点距離
 ・シャッター速度
 ・絞り値
 ・ISO 感度
 ・測光モード
※動作確認: CANON EOS-10D
※全てのメーカー・機種の撮影データに対応出来ているわけではありません。
※また、縦位置撮影の画像を Photoshop などで回転処理を行った場合は、
  その時点で撮影情報の幾つかは消滅します。
  この CGI では、サーバにアップした後に画像を回転させることは出来ませ
  んのでご了承下さい。
基本的に、CANON EOS Digital ユーザー向けのデザインです
サンプル稼動の CGI (PHOTO-STATION 通常版)をご覧頂ければ分かると思いますが、『写真日記』 の機能を利用された場合、その更新内容が貧弱だと見る人にとって全く魅力がなく、サイト全体にとってもかえってマイナスのイメージにしかなりません。 この機能は、本来プロ並みに、毎日のようにカメラを利用されている人でなければ活きて来ないもののような気がします。
このあたりのことも十分に考慮の上、貴サイトにとって総合的にプラスとなるよう、有意義にご活用頂ければ幸いです。


▼ご利用方法
●1:圧縮ファイルをダウンロードして下さい。

【PHOTO-STATION IM // CGI ファイル】
Ver.1 (Build 101) LZH 圧縮


●2:ダウンロードされた LZH ファイルを解凍すると、以下のファイルが出来ます。

index.cgi PHOTO-GALLERY 本体 メイン CGI ファイル
imgup.cgi 画像アップロード用 CGI ファイル
u_imgup.cgi 画像アップロード用 CGI ファイル2
.htaccess アクセス設定ファイル
□dll フォルダ - .htaccess アクセス設定ファイル
・その他、*.pl ファイル 13種類
□img フォルダ - 画像ファイル25種類
□logs_galle フォルダ - 初期状態 ファイル無し
□logs_bbs フォルダ - 初期状態 ファイル無し
□logs_diary フォルダ - 初期状態 ファイル無し


●3: index.cgi ファイル、及び imgup.cgiu_imgup.cgiファイルをメモ帳などで開い
    て、それぞれ以下の点を修正して下さい

一行目の

#!/usr/bin/perl

を、ご利用のサーバの指定パスに変更して下さい。
たいていの場合、これか

#!/usr/local/bin/perl

だと思います。


●4: dll フォルダ内の set.pl ファイルをメモ帳などで開いて、以下の点を
変更して下さい。

#▼システムのユーザー名(写真作品の著作権者)
$copyright='著作権者名';



『PHOTO-STATION』 ユーザーのお名前です。


#▼このシステムから見た戻り先のURL
$homepage="../../index.htm";



index.cgi から見たトップページのURLです。


#▼システム CGI のファイル名
$cgi="index.cgi";



index.cgi のファイル名です。名前を変更する場合に設定して下さい。


#▼管理者用画像登録 CGI のファイル名
# この CGI で PhotoGallery、PhotoDiary の画像をアップロードします
$upcgi="imgup.cgi";



imgup.cgi のファイル名です。変更する場合に設定して下さい。


#▼訪問者用画像登録 CGI のファイル名
# この CGI で PhotoBBS の画像をアップロードします
$u_upcgi="u_imgup.cgi";


△u_imgup.cgi のファイル名です。変更する場合に設定して下さい。


#▼書き込み用ファイルのパーミッション
# 変更不要の場合は $pms="";
#$pms=0644;



書き込み用ファイル類のパーミッションです。
サーバによってはこれを指定するとエラーとなる場合がありますので、ご利用のサーバ会社にお問い合わせ下さい。


#▼PhotoGallery 用ログファイルフォルダ名
$log="logs_galle";



同梱されている logs_galle フォルダのフォルダ名です。
変更する場合に設定して下さい。


#▼PhotoBBS 用ログファイルフォルダ名
$bbs_log="logs_bbs";



同梱されている logs_bbs フォルダのフォルダ名です。
変更する場合に設定して下さい。


#▼PhotoDiary 用ログファイルフォルダ名
$diary_log="logs_diary";



同梱されている logs_diary フォルダのフォルダ名です。
変更する場合に設定して下さい。


#▼管理者用パスワード(半角英数字で)
$PW='MainPass';



このパスワードで、管理画面へのログインを行います。
また、BBSの全ての投稿を削除できます。


#▼ブラウザに表示されるタイトル(タグ使用不可)
$webtitle='■PHOTO-STATION■ -DIGITALAND-';



ブラウザのタイトル欄に表示されるタイトルです。


#▼ページ内左上部に表示されるタイトル
# タグ指定で画像を表示させることも出来ます。
# 空白 $pagetitle=''; でデフォルトの画像タイトルが表示されます。
$pagetitle='';



画面左上部に表示される、ページ内のタイトルです。


#▼ページ内右上部に表示されるサブタイトル
# タグ指定で画像を表示させることも出来ます。
# 空白 $subtitle=''; で表示なし、
# $subtitle='def'; でデフォルトの画像が表示されます。
$subtitle='def';


△画面右上部に表示される、ページ内のサブタイトルです。


#▼各作品毎の閲覧者数を、その閲覧ページ内に表示させるかどうか
# 表示させない場合は $accessview=0;
# 表示させる場合は $accessview=1;
# 但し、これは重複カウントを防止しませんので、これを表示させることによって
# 閲覧者が故意に再読み込みを繰り返して、正しいカウントが期待出来なくなる
# 可能性があります。
$accessview=0;



Gallery の各作品の閲覧者数を、その作品ページ内に表示させるかどうかの設定です。


#▼掲示板機能のオン・オフ
# 利用しない場合 = 0
# ごく一般的な画像掲示板として利用する場合 = 1
# 1 + 管理人の各作品にコメントを返せるようにする = 2
# 2 の機能だけで、訪問者は投稿出来ないようにする = 3
# 但し、1、2 として利用する場合は、投稿者の画像容量は 500KB 上限で固定で、
# また 50 件分までのログ保持となります。
# つまり、画像掲示板機能だけで 25MB 程度のサーバ容量が必要になります。
$bbs_mode=2;



掲示板機能の設定です。


#▼掲示板ページのアクセスカウンタの使用
# 使用&表示する場合 =1
# 使用しない&表示しない場合 =0
$use_bbs_counter=1;



上の $bbs_mode が 0 以外の場合のみ有効となる設定です。



#▼フォトダイアリー機能のオン・オフ
# 利用しない場合 = 0
# ごく一般的なフォトダイアリーとして利用 = 1
# 1 + ダイアリー内の各作品にコメントを返せる = 2
# 但し、この $diary_mode を 2 とする場合は、上の $bbs_mode を 2 か 3 として下さい。
# $bbs_mode が 0 か 1 となっている場合、この設定を 2 としても無視されます。
$diary_mode=2;



写真日記機能の設定です。


#▼フォトダイアリーページのアクセスカウンタの使用
# 使用&表示する場合 =1
# 使用しない&表示しない場合 =0
$use_diary_counter=1;



上の $diary_mode が 1 の場合のみ有効となる設定です。


#▼BBS、Diary を利用される場合の曜日記載
# 英語表記がお好みの場合は 'Sun','Mon',・・・
@dayname = ('日','月','火','水','木','金','土');



BBS、Diary を利用される場合の、投稿時の曜日記載の設定です。


#▼アップロードする Main 画像の編集
# アップロードした Main 画像自体の、ファイル容量や
# 縦・横サイズを調整したい場合(サーバ容量の節約を目的等)に指定して下さい。
# ●一切の変更を行わない場合 $mainmax=0;
# △アップされた画像がそのまま使用されます。
# ●リサイズせずに容量を下げる場合 $mainmax=1;
# △アップされた画像サイズはそのままで、容量のみ約 1/3 になります。
# ●リサイズして容量を下げる場合 $mainmax=リサイズ時の縦横の最大値;
# △アップされた画像の縦横サイズの大きい方がここで指定された
# サイズになるようリサイズされます。
# また、アップされた画像の縦横サイズがこれ以下の場合は、$mainmax=1 と
# 同様の処理がなされます。

$mainmax=1800;


メイン画像としてアップした画像の、縦横サイズやファイル容量等を調整するかどうかの指定。
500 〜 600 万画素のカメラで Fine 相当の画質で撮影したものをそのままアップロードした場合、1枚の画像で 2 〜 3MB の容量になる場合があります。
その容量を節約する場合にこれを指定して下さい。
仮に、元画像のサイズが 3000*2000 程度、容量が 3MB 程度であるとした場合、

●$mainmax=0; でそのまま 3MB
●$mainmax=1; で、縦横サイズはそのままで約 1MB まで削減
●$mainmax=2000; で、縦横サイズが約 2000*1660 にリサイズされて、
  容量は 500KB 程度まで削減

 されます。


●5: 上記、設定後、全てのファイル・フォルダ類をサーバにアップし、それぞれのファイルのパーミッションを以下のように変更して下さい。

index.cgi ファイル 0755 (実行可能ファイルパーミッション)
imgup.cgi ファイル 0755 (実行可能ファイルパーミッション)
u_imgup.cgi ファイル 0755 (実行可能ファイルパーミッション)
logs_gallery フォルダ 0777 (ファイルの生成・書込可能パーミッション)
logs_bbs フォルダ 0777 (ファイルの生成・書込可能パーミッション)
logs_diary フォルダ 0777 (ファイルの生成・書込可能パーミッション)

※これらパーミッションも、それぞれご利用されているサーバによって
  異なる場合がありますので、動作しない場合はサーバ会社まで
  お問い合わせ下さい。


※このシステムには2つの .htaccess ファイルが入っていますが、
  サーバによってはこれら .htaccess ファイルがあると正しく動作
  しない場合があります。
  そのような場合は、これら .htaccess ファイルをサーバ上から削除
  して試してみて下さい。



●6: なお、PhotoBBS、PhotoDiary を利用される場合、下記のようにリンク指定することで、サイトトップページ等から直接 BBS、Diary ページを表示させることが出来ます。

●PhotoBBS : <A href="・・・/index.cgi?MODE=bbs">PhotoBBS</A>
●PhotoDiary : <A href="・・・/index.cgi?MODE=diary">PhotoDiary</A>

この時、必ず MODE は大文字に、bbsdiary は小文字となるようにご注意下さい。


●7: Diary に於いて、各日の日記内容を編集・削除することが出来ます。
その方法については、PHOTO-STATION のサンプルで動いている CGI の Diary ページで、 2004 年の1 月度と 2 月度の日記内容をご覧下さい。 恐らく、実際にそちらで見て頂ける方が分かりやすいと思います。


 なお、従来の通常版 PHOTO-STATION と、この PHOTO-STATION IM にはファイルの互換性はありませんのでご注意下さい。






Digitaland Copyright© Tetsuya Jo 2002..2004