[PHP-users 4383] FileUpload時のエラー処理

Manabu Suzuki php-users@php.gr.jp
Thu, 20 Dec 2001 17:53:41 +0900


鈴木@コアと申します。

FreeBSD 4.4-RELEASE + php-4.1.0 + Postgres7.1.3にて
フォームによるデータのアップロードのテストをしているのですが、
php.iniで設定した値以上のデータをアップロードした場合の
エラー処理などはどのようにしたらよいのでしょうか?

以下テスト内容

アップロードをMax 8MBに設定。
/usr/local/lib/php.ini
---
post_max_size = 8M
upload_max_filesize = 8M


php内の記述は以下の通り。
4MB以上はアップロードできないようにフォームのMAX_FILE_SIZEにて設定
printf "<form enctype=\"multipart/form-data\" action=\"$PHP_SELF\" method=\"post\">\n";
printf "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"40000\">\n";
printf "<input type=\"file\" name=\"userfile\">\n";
printf "<input type=\"submit\" value=\"アップロード\">\n";
printf "</form>\n";

この場合、4MB以下の場合は勿論登録できます。
4MB〜8MBの範囲ならばファイルサイズが
0バイトとなるのでエラー処理が可能なのですが、
8MBを越えた場合、以下のような感じで止まってしまいます。
トラップしてエラー処理を行わせることはできないのでしょうか?

# tail /var/log/httpd_error_log
xx.xx.xx.xx - [20/Dec/2001:17:28:04 +0900] "POST /test/index.php
HTTP/1.1" 200 339 "http://xx.xx.xx/~m-suzuki/test/"
xx.xx.xx.xx - - [20/Dec/2001:17:28:04 +0900]\
"-----------------------------7d11b5ee032e" 401 - "-" "-"

-- 
鈴木 学(Manabu Suzuki) E-mail:m-suzuki@core.co.jp