pupLoader
アップローダ
PHP 4.1.0 以上で動作
pupLoader について
クライアントのHDDにあるファイルをサーバへアップロードできる所謂アップローダです。
PHPが利用できないサーバでは動きません。PHP4.1.0 以上で動作します。
SAMPLE (外部のサーバに飛びます)
出来ること
- 許可するファイルタイプのみアップロードを受け付ける。管理人が許可する拡張子以外を拒否する時に。(拒否が前提)
- 許可しないファイルタイプ以外のアップロードを受け付ける。危険な拡張子以外を許可する時に。(許可が前提)
- アップロードできるファイルサイズの上限を設定。
- アップロードされたファイルを格納しておくディレクトリの利用可能サイズの上限を設定できる。
- 誰にでもファイルを削除できるようにできる。
- 管理者権限でブラウザからファイルを削除。
- 名前やコメントの入力文字数制限を設定。
ダウンロード
現在のバージョン : 1.4.7
書庫の中身
- puploader.php
- プログラム本体
- html.php
- プログラムが吐くHTMLを別ファイルにまとめたもの
- set.dat
- 設定を保存するファイル
- filez
- アップロードされたファイルを入れておくディレクトリ(最初は空)
- logz
- アップロードされたファイルに関するログを入れておくディレクトリ(最初は空)
- puploader.css
- 見栄えが寂しいので一応
設定
パーミッション
初めて設置する場合は puploader.php 内のソースは一切変更せず全てデフォルトの状態で書庫の中身を全てアップロードしてください。 そしてパーミッションのみ変更します。
/puploader/
┣ filez/ [777 | 757] (755)
┣ logz/ [777 | 707] (701)
┣ puploader.php [644]
┣ html.php [644]
┗ set.dat [666 | 606] (600)
- [ ] 内がパーミッション。
- ( ) 括弧内のパーミッションで動作する場合はこちらで。
- サーバ側で推奨のパーミッションがあればそちらを優先。
- パーミッションは数字が小さいほど安全。
パスワード
- 初めて設置する場合 puploader.php の中に管理者用のパスワードを記述するところがありますが とりあえずそこには何も書かずに puploader.php をアップロードしてください。
- アップロードできたら puploader.php にアクセスします。
- するとパスワードの入力を求められるのでそのフォームへ任意の文字列(パスワード)を入力します。
- すると暗号化されたパスワードが出来上がるのでその暗号化されたパスワードを puploader.php の中に記述して再度 puploader.php をアップロードし上書きします。
パスワードが設定されていない場合はパスワードの暗号化画面がでます。設定後はこの画面はでません。
パスワードを忘れた時、再設定したい時は暗号済みパスワードを消し(初期状態にして) puploader.php をアップロード、上書きしてください。すると再度暗号化画面が出現します。
管理者画面
入室方法は puploader.php?login というパラメータを渡してアクセスすると パスワードの入力画面がでます。そこへパスワードを入力すると入室できます。 (パスワードとは暗号化済みのものではありません。暗号化する前のものです。)
入室後それぞれの設定をしてください。
FAQ
- プログラムが吐くHTMLを弄りたい
- そんな時は html.php をメモ帳等テキストエディタで開き適当に弄ってください。
中身を見てみれば直感的に分かると思います。(弄る前にファイルをコピーしておくことをお勧めします)
上記の中は通常通りタグを使えます。ただし文中にある {$Variable} の様なものは 変数ですので気をつけてください。 そして、フォーム部品(特に name 属性)等フォーム周りを弄る時は十分気にをつけてください。 $ という記号を使う時は \$ と バックスラッシュをつけてエスケープしてください。print <<<_HTML_ 〜ここから〜 ・・・・・・・・ ・・・・・・・・ 〜ここまでの中〜 _HTML_; - エラーが出る
- プログラムが吐く error status : ??
といったエラーは pupLoader.php ソース中に意味が書いてあるのでそちらを参照してください。
特に問題のあるエラー番号は
error status : 10, 11, 12, 14, 16, 23, 24
気にしなくてよいエラー番号は
error status : 1〜9、15, 17, 18, 20, 21
以下の様なエラーメッセージは重大なエラーです。
Warning: fopen(set.dat) [function.fopen]: failed to create stream: No such file or directory in http://192.168.0.11/uploader/pupLoader.php on line 504 - 大きいファイルがアップロードできない
- サーバ側の設定より大きなファイルはアップロードできません
例えば php.ini の中でアップロードできるファイルサイズが2Mbと設定されていれば
pupLoader.php で上限を5Mbとしても2Mbまでのファイルしかアップロードできません。
この管理者が設定している値は絶対です。欺くことはできません。
phpinfo(); 関数で upload_max_filesize が2Mb かつ post_max_size も8Mb と確認、 pupLoader.php で上限2Mb にもかかわらず 1Mb のファイルのアップロードに失敗する場合は サーバ側の別の設定で制限されている可能性が大きいです(例えば10秒でタイムアウトする等)。 こういった場合は素直に諦めてください。
海外のサーバでは思わぬところに落とし穴があったりします。注意してください。
XREA.COM で使う
#/usr/local/bin/php
/puploader/
┣ filez/ [755]
┣ logz/ [700]
┣ puploader.cgi [700]
┣ html.php [600]
┗ set.dat [600]
とします。
拡張子を xcg (広告の自動挿入無し)にした場合は html.php を開き
好きな場所へ広告コード貼ってください。
Copyright(C) 2002-2004 kerry.