スマートフォンやhtml5+CSS3など新技術に四苦八苦。jQuery、AjaxなどJavaScriptも難しいですね。そんなWebに悩む人のネタ帳です。

PHPをベースにしたWebシステム上では扱えるファイルサイズに制限があります。
ファイルサイズの制限をなくして、無制限にファイルをアップロードを許可するとメモリエラーなどに障害が発生するためです。
だからといって制限をきつくすると都合が悪い場合があります。

例えば、phpMyAdminでデータをインポート、エクスポートする場合、SQLの書かれたテキストファイルをアップロードすることがあるのですが、ファイル容量の制限エラーのためデータを移せない問題があります。

また、WordPressで高解像度のフォトギャラリーなどを構築する場合、画像ファイルの容量制限のため、ファイルをアップロードできない場合があります。

これらの解決策として、PHPの設定を変更して制限を緩和します。

例えば、ファイルサイズが8MB以上でアップロードエラーになる場合、最大値を32MBにするためには「php.ini」の3つの項目を変更します。
「memory_limit」
「post_max_size」
「upload_max_filesize」

「memory_limit」を変更する

「memory_limit」を設定することで、スクリプトがサーバーメモリを確保できる最大値を変更します。

memory_limit = 128M

「post_max_size」を変更する

「post_max_size」を設定することで、POSTデータの最大サイズを変更します。

post_max_size = 64M

「upload_max_filesize」を変更する

「upload_max_filesize」を設定することで、構築したフォームなどでアップロードできる最大サイズを変更します。

upload_max_filesize = 32M

システムに詳しい方は直感的に分かると思いますが、一般的に上記の大小関係は以下のようになるように設定する必要があります。

memory_limit > post_max_size > upload_max_filesize
このエントリーをはてなブックマークに追加

Comment

Comment Form

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Monthly Archives

Search