KennyQiのPHPメモと息抜きブログ

KennyQi(ケニーチー)のブログへようこそ
Web制作 PHP開発のメモと息抜きブログ
ウェブ開発・デザイン・Nucleusのメモや旅日記などを綴っています
PHPでアップロードファイルの最大サイズを変更する
2009年09月06日 | PHP | Posted by: kennyqi | 1735 PV
PHPでファイルアップロードをする際、
ファイルが大きすぎてエラーが出るときがあります。
これは /etc/php.ini でアップできるファイルの最大値をあらかじめ決めているからです。
今回設定したPHPのデフォルトは2Mだったので4Mまでアップロードできるようにしてみました。



ちなみに、/etc/php.ini では
ファイルのアップロードに関係するパラメータは3つあります。

1)memory_limit :スクリプトが確保できる最大メモリをバイト数
2)post_max_size :POSTデータに許可される最大サイズ
3)upload_max_filesize :アップロードされるファイルの最大サイズ

です。これらの値は、
memory_limit > post_max_size > upload_max_filesize
という感じで優先順位が決まってるそうなので
upload_max_filesizeをpost_max_sizeよりも大きくしても
post_max_size以上のファイルはアップできないことになります。
post_max_sizeはPOSTデータなので
ファイルを一緒にアップロードするデータの大きさにもよりますが。

今回は下記のように設定してみました。

; Maximum amount of memory a script may consume (8MB)
memory_limit = 8M
; Maximum size of POST data that PHP will accept.
post_max_size = 8M
; Maximum allowed size for uploaded files.
upload_max_filesize = 4M


なお、 /etc/php.ini を変更したら httpd の再起動をしないと
設定が反映されません。


参考:
PHP:コア php.ini ディレクティブに関する説明

Comments
No comments yet

Add Comment