HOME > CGI > たんすまにあ


【動作サンプル】 ※書き込みは出来ません

特徴&機能説明
  • 簡単に言ってしまうと「アルバムを作って」そこに「ファイルをアップロード」するだけなんです。
  • CGIソース内部で指定するのですが、だいたいのファイル(画像・音楽・文書ファイル)はアップロード出来ると思います
  • アルバムは「サムネイル(1画面に複数枚表示)」表示を行って、そこをクリックすると詳細画面が表示される
    イメージとなります。尚、サムネイル表示は【特定サイズでの縮小表示】でも【実サイズでの表示】でも設定変更可能です
  • 新規投稿及びフォルダ作成も設定のより『管理人のみ』も出来ます。
  • フォルダパスワードを指定する事により自分の作ったアルバムに他人が投稿するのを防ぐ事も出来ますし、
    パスワードを指定しないフォルダを作れば「みんなのフォルダ」のように自由に投稿してもらえたりも出来ます。
  • Sendmailも一応つけといております。
  • 連続投稿間隔、同一ホスト連続投稿、特定ホスト拒否等の簡単なのもつけております。
  • 入力フォームの【名前・Email・URL・タイトル】 は設定により各々外す事も出来るよ
  • サムネイル、入力フォーム等の周囲に「角が丸い四角枠」をサンプルでは表示していますが、
    好みでこれも外すことは出来ます


設置方法  ※重要な部分のみ説明します

■tansumania.cgiをエディタで開いて設定を行います。

#!/usr/local/bin/perl
 (Perlへのパスを指定。※プロバイダによって異なりますので不明な場合はプロバイダーへ質問してね)

$logfile = './tansumania.txt';
 (投稿された記事を保存するファイルです)…全てのアルバム内の情報が保存されています

$logfile2 = './tansumania_j.txt';
 (作成されたアルバムの情報を管理するファイルです)

$datamax = 100 ;
 (ログの最大保存件数です)
 ※指定件数を超えた場合は、古い記事より消去されていきます。

$pagemax = 8 ;
 (アルバムを開いた場合(サムネイル表示時)、1画面に何件表示するか)

$flg_name = 2 ;
 (入力フォームに名前欄は不要?(0:不要 1:必要(必須入力) 2:必要(省略可)))
 ※この他に「Email・HP・TITLE」の各々の設定が出来ます

$flg_scrl = 1 ;
 (BACK,NEXT,前画面等のボタン類はどこに必要? 1:アルバムの上部のみ 2:アルバムの下部のみ 3:上下両方)

$sortdisp = 1 ;
 (登録されたアルバムのプルダウン表示のソート順(1:最新を上に 2:最新を下に) )

$thum_border = 1 ;
 (各画面のフォーム・画像等の表示に「四隅用枠」を表示させる?(0:NO 1:YES))

$thum_line = 1 ;
 (サムネイル表示の際、1行に表示させる画像数)
 ※$thum_line = 1を指定して$pagemaxを2以上にすると縦長に表示されます

$thum_align = 1 ;
 ($thum_line=1の場合(縦長に表示する時ね)、画像(又はタイトル)の表示位置は?)
 ※(1:左寄せ 2:中央揃え 3:右寄せ) ※$thum_line=1以外は意味無し

$thum_CellWidth = 150;
 (サムネイル表示の際、テーブル1列の横幅を指定。指定しない場合は0を設定)

$thum_CellHeight = 150
 (サムネイル表示の際、テーブル1列の縦幅を指定。指定しない場合は0を設定)

$thum_Width = 100 ;
 (サムネイル表示の際、画像幅(Pixel)サイズを超えた場合は画像縮小表示。)
 ※0を指定した場合は画像サイズそのままの幅で表示します

$thum_Height = 100 ;
 (サムネイル表示の際、画像高さ(Pixel)サイズを超えた場合は画像縮小表示。)
 ※0を指定した場合は画像サイズそのままの高さで表示します

$thum_kotei = 0 ;
 上記thum_Widthとthum_Heightの指定方法を
   1:縦横比率で縮小表示 2:thum_Widthとthum_Heightの固定サイズで表示

$thum_padding = 10 ;
 (サムネイル表示の際のセルとセルの間の幅)

$thum_title = 1 ;
 (サムネイル表示の際にタイトルも一緒に表示する?(0:NO 1:YES) )

$thum_name = 1 ;
 (サムネイル表示の際に投稿者名も一緒に表示する?(0:NO 1:YES) )

$thum_message = 1 ;
 (サムネイル表示の際にコメントも一緒に表示する?(0:NO 1:YES) )


$thum_date = 1 ;
 (サムネイル表示の際に投稿日付も一緒に表示する?(0:NO 1:YES) )

$thum_satuei = 1 ;
 (サムネイル表示の際に撮影日も一緒に表示する?(0:NO 1:YES) )

$detailsw = 0 ;
 (詳細表示画面で「名前・投稿日時・コメント」等全て表示したくない時に"1")

$kanrisw = 1 ;
 (管理人以外は投稿を許可させる?(0:いいえ 1:はい))

$kanrisw2 = 1 ;
 (管理人以外はフォルダ作成を許可させる?(0:いいえ 1:はい))

$kanrisw = 1 ;
 (管理人以外は投稿を許可させる?(0:いいえ 1:はい))

@TBL_FILE = ('gif','jpg','jpeg','png','txt');
 (アップロードを許可するファイル形式)

$renchan1 = 0 ;
 (指定分以内の連続投稿はエラーとする。設定しない場合は0としてね。)

$renchan2 = 10 ;
 (指定回数以上の連続投稿はエラーとする。設定しない場合は0としてね。)

$UpFolder = "./img/"
 (アルバム作成時に、ここで指定したフォルダ直下にフォルダが自動作成されます)

 ※アルバムへの投稿時、アップロードされたファイルは対応するアルバム(フォルダ)内に
 アップロードされます

$disp_name = 1
  (投稿記事の詳細表示画面において「名前」を表示する?(0:no 1:yes))

$disp_date = 1
  (投稿記事の詳細表示画面において「投稿日時」を表示する?(0:no 1:yes))

$folder_perm = 0777
  (アルバムを保存するフォルダ作成時のパーミッション指定。サーバー管理者から指定された値を指定)
  777なら0777、701なら0701として下さい。

▼設定例

■$pagemax=8
■$thum_line = 4(1行に1件表示)
■$thum_align = 1 (左寄せ)
■$thum_title = 1(タイトルを表示)
■$thum_Width = 100(幅:100Pixelで表示)
■$thum_Height = 100(高:100Pixelで表示)
■$pagemax=1
■$thum_line = 1(1行に1件表示)
■$thum_align = 2 (中央揃え)
■$thum_title = 1(タイトルを表示)
■$thum_Width = 0(幅:通常サイズで表示)
■$thum_Height = 0(高:通常サイズで表示)


▼初期表示フォルダの設定 ※Ver0.73より

→tansumania.cgiにアクセスした際に、指定したアルバム(フォルダ)を自動的に開く設定が可能です。

☆設定方法

1. 初期表示したいアルバム(フォルダ)を開きます。

2.画面最下部に以下の箇所がありますので、パスワードに「管理者パスワード」を入力し、
「初期表示設定」を選択して、「実行ボタン」を押下するだけ。

 ※初期表示を止める場合は、「初期表示解除」を実行するだけ。



■各ファイルをサーバーへアップロードします。

ファイル名 説明 パーミッション 転送モード
tansumani.cgi 本体 755 アスキーモード
tansumania.txt アルバム毎に投稿された記事を保存するファイル 666 アスキーモード
tansumania_j.txt 作成されたアルバムを管理するファイル 666 アスキーモード
jcode.pl 日本語コード変換ライブラリ 755 アスキーモード
cgi-lib.pl perlライブラリ 755 アスキーモード
img(サーバーにフォルダを作成してね) 作成したフォルダ内に、アルバム(フォルダ)をCGI内部から自動作成します。 777  
white_bl.gif、white_br.gif、white_l.gif、white_r.gif 角丸の四角枠用画像   バイナリーモード

※パーミッションはプロバイダーによって上記以外の設定となる事がありますので、
設置出来ない場合は、一度プロバイダーのサイトなりで調査してみて下さい。

※よくわからないけどCGIから自動でフォルダ生成出来ないサーバーってあるのかな?
あったらこのCGIは使えません。(^-^;)

 



ダウンロード ※ダウンロード後「Lhasa」等の解凍ツールで解凍して下さい。

tansumania.lzh



更新記録

◆Ver0.75 (2009.02.18)
・投稿禁止ワードの比較ロジックを修正

◆Ver0.74 (2009.01.14)
・ファイルアップロードの際の拡張子の正当性チェックを追加

◆Ver0.73 (2008.01.12)
・初期表示アルバム(フォルダ)の設定を可能にしました。ここを参照
・「フォルダの修正」を「フォルダの新規作成」画面ではなく、アルバムを開いたページ最下部より処理するように変更しました。

◆Ver0.72 (2007.12.01)
・前回の修正にミスがありました。大変失礼いたしました。
↓1501行目。
push(@new,"$no,$FORM{'name'},$FORM{'email'},$FORM{'hp'},$FORM{'title'},$FORM{$name_comment}
,$ps,$ImgFile,$hst,$dt,$FORM{'satu'},$FORM{'cat'}\n");
を、
push(@new,"$no,$genru,$FORM{'name'},$FORM{'email'},$FORM{'hp'},$FORM{'title'},$FORM{$name_comment},
$ps,$ImgFile,$hst,$dt,$FORM{'satu'},$FORM{'cat'}\n");
に修正。

◆Ver0.71 (2007.11.29)
・記事の編集を行うと記事Noが消去されてしまう重大バグ対応。
↓1501行目。
push(@new,"$noru,$FORM{'name'},$FORM{'email'},$FORM{'hp'},$FORM{'title'},$FORM{$name_comment},
$ps,$ImgFile,$hst,$dt,$FORM{'satu'},$FORM{'cat'}\n");
を、
push(@new,"$no,$FORM{'name'},$FORM{'email'},$FORM{'hp'},$FORM{'title'},$FORM{$name_comment},
$ps,$ImgFile,$hst,$dt,$FORM{'satu'},$FORM{'cat'}\n");
に修正しただけです。

◆Ver0.7 (2007.10.29)
・カテゴリー機能を追加。
↓ソース280行目。
#▼カテゴリー設定テーブル
#増やす場合は、$CATE[10]..$CATE[11]のように増やして下さい。
#※「カテゴリー」を使わない場合は$CATE[0] = '';として下さい。
$CATE[0] = '風景';
$CATE[1] = 'スポーツ';
$CATE[2] = '家族';
$CATE[3] = '子供';
$CATE[4] = 'ペット';
を追加しました。

※ログファイルは現在お使いのものをそのままご利用出来ます。

◆Ver0.68 (2007.07.23)
・拡張子"jpeg"が画像として認識されなかったバグ対応

◆Ver0.67 (2007.03.07)
・アルバム一覧画面の「投稿日時」が間違っているバグ修正

◆Ver0.66 (2007.01.11)
・記事を修正した場合、一つ前の記事がログファイル上で改行せずに修正対象記事の後ろに追加されていたバグ修正

◆Ver0.65 (2006.10.28)
・詳細画面での画像縮小表示に対応しました ※$detail_Width,$detail_Hight,$detail_kotei

◆Ver0.64 (2006.10.12)
   ※0.63以前のバージョンとはログの互換性がありません!!
   バージョンアップを行う場合は、ログ変換スクリプトをダウンロードしてご利用下さい。

    … 「撮影日」を追加 ※$thum_satuei、$flg_satuei
    … 「投稿日」「撮影日」でのソート機能を追加 ※$sortflg追加。$sortdisp3廃止
    … 新着表示を可能にしました
    … サムネイルに「フォルダを全て表示」の際にフォルダ名をp表示可能にしました$thum_genre

◆Ver0.63 (2006.10.09)
・投稿時の「名前」が正しく保存及び表示されていないバグ修正

◆Ver0.62 (2006.06.05)
・$urllink=2の時、$urerrnm[1]以降がエラーになりませんでした

◆Ver0.61 (2006.06.03)
・セキュリティ機能追加

◆2004.06.08 (Ver0.6)
    … 修正・削除のバグフィックス。
    … 詳細表示画面から「初期画面」へ戻れるようにしました
    … 新着表示を可能にしました
    … サムネイルを少し位置的に綺麗に表示されるようにしました
    … サムネイルに「コメント」も表示可能にしました
    … サムネイルに「投稿日付」も表示可能にしました
    … サムネイルのテーブル1列内の縦幅・横幅を設定可能にしました
    … 画像の縮小表示を比率で綺麗に表示出来るように設定出来るようにしました
    … 管理人のみ投稿可能の場合、連続投稿が出来ないバグフィックス
    … その他細かいところを色々と修正。

◆2004.02.27 (Ver0.52)
    … セキュリティ対応。
    … $flg_title=1(タイトル必須)の場合、記事が削除出来ない不具合対応。
    … 詳細画面で「名前・投稿日時・コメント」の表示有無設定を個別に設定可能に。
    … サムネイル表示の際に【投稿者】を表示可能に。
    … 画像ファイルのフォルダ移動処理不具合対応。
    … 全ての画像を一気にサムネイル可能にしました。(設定で変更可)
    … フォルダ内の投稿記事ソート順の設定追加

◆2003.06.09 (Ver0.51)
    … 管理人以外の投稿を不可にした場合、ファイルアップロード時に
       「このファイル形式はアップロード出来ません」というエラーになってしまう不具合を修正

◆2003.06.05
    … Ver0.5 リリース


このページのTOPへ