PHPまとめ - アップロード

HOME | TOP

■ 設定関係いろいろ

ファイルアップロードに関係してくる設定部分を抜き出し。

▼ [php.ini]

大容量ファイルのアップロードを可能にするためには例えば以下のような設定になる。




▼ 大容量ファイルのアップロード設定

「memory_limit」は256Mぐらいあれば充分のような気もするが、一応"-1"設定で上限なしにしている。


■ 送信フォーム

ファイルアップロードの送信画面の記述例

[upload.html]

「MAX_FILE_SIZE」をいちばん先に書くことで、サーバ側がMAX_FILE_SIZEの値を先に認識してくれることを期待している。
これはもし送信したファイルがサイズオーバーだった場合に、さんざん待たせた挙げ句に処理を中止させるよりも早い段階で中断してくれるためのおまじないとなる。
当然ユーザ側で書き換えて送信することもできる値なのでこの値を大きく改変したら大きいファイルが送れるというわけではない。

あくまでも真のリミッターは「upload_max_filesize」の設定値ということになる。


■ アップロード処理

アップロード処理のスクリプト例として、画像のみを受け付ける処理を書いてみる。

▼ [upload.php]

関数(showlist, is_img, lock, getnextfilename)定義は省略しているが、骨格はこんな感じになる。

アップロード場所にあるファイルは必ずmove_uploaded_file()関数を使って目的の場所に移動させる。この時、rename()関数で移動させようとしてもエラーになる。

アップロード場所に上がったファイルは、そのままほったらかしておけば自動的に削除されるので不要な場合はわざわざ消す必要なし。




▼ 複数ファイルのアップロード

・送信フォーム


・スクリプト

2010(C)Mingw