2008年7月8日火曜日

httpd.confでアップロードファイルサイズ制限を指定する方法

PHPのアップロードファイルのサイズはphp.iniのpost_max_sizeとupload_max_filesizeで制限できるが、php.iniではphpごとに制限値を変えることができない。

post_max_size、upload_max_filesizeともに"PHP_INI_PERDIR"なので、php.iniか.htaccessかhttpd.confで設定可能
httpd.confや.htaccessなら、phpごと(URLごと)に柔軟に制限値を設定できる。


httpd.confでの設定例
<Location ~ /upload.php$>
# 100MB = 100 * 1024 * 1024 (bytes)
php_value post_max_size 104857600
php_value upload_max_filesize 104857600
</Location>
単位はバイト。100MBと書くと100バイトと認識されてしまう。


なお、同じくphp.iniの設定値のmemory_limitはファイルサイズより大きくしなければならないが、memory_limitは"PHP_INI_ALL"なのでどこでも(PHPファイル内でのini_set()でも)設定できる。

0 件のコメント:

コメントを投稿