小金井にあるWEB制作会社の備忘録

MEMORANDUM

.htaccessでPHPのファイルアップロードサイズの上限値を変更

PHPを使用して画像(動画・PDF等)をアップロードするフォームを作成した際に、ファイルサイズが大きくてアップロードできないことがあります。
サーバーで許容されていないからと、エラーメッセージで制限することもできますが、「.htaccess」を使用して上限を解放する方法をメモ。

ファイルアップロードサイズの上限値変更の実装手順

php.iniの初期設定を確認。

現在、使用しているサーバーのphp.iniの設定を確認する必要があるので、まず以下のファイル(phpinfo.php)を作成し、該当するディレクトリの直下にアップロードし、アクセスします。

phpinfo.php

<?php phpinfo(); ?>

以下の画面が表示されるので、この中から「memory_limit」「post_max_size」「upload_max_filesize」の値を確認します。

新しい値を「.htaccess」に設定

現在の値が確認出来たら新しい値を「.htaccess」に記載します。
この時、優先順位があるので「memory_limit > post_max_size > upload_max_filesize」の関係になるよう注意が必要。
また、apacheの上限により「2G」より大きな値は設定できないようです。

項目解説
memory_limitメモリ使用量の上限
post_max_sizePOSTデータの最大サイズ
※1回のアップロードファイルすべての合計サイズ
upload_max_filesize1ファイルあたりの最大アップロードサイズ

.htaccess

php_value memory_limit 256M

php_value post_max_size 256M

php_value upload_max_filesize 256M

ファイルをアップロードし、再度設定状況を確認

作成した「.htaccess」ファイルを該当ディレクトリの直下にアップロード。
前の項目で作成した「phpinfo.php」にアクセスして値が変更されているかを確認して終了。