くりゅぴ!

サーバーやWEB問題解決のメモから生活お得情報まで。未分類のものは執筆中

PHPでファイルがアップロードできない

まれによく遭遇する現象
該当PHPファイルに記述や、php.iniや.htaccessを変更して対応する。

原因1.設定されているメモリが足りない
処理するメモリの設定が少ない場合はエラーをはいてアップロードができない。
対策:memory_limitの値を変更する

原因2.POSTデータに許可される最大サイズが足りない
POSTのデータ容量が大きいとこれに引っかかることがある。特に画像など送信時。
対策:post_max_sizeの値を変更する
この値は必然的にmemory_limitより少なくなければならない。
送信したデータはメモリにて処理されるため。

原因3.アップロードされるファイルの最大サイズの容量がオーバーした
1つのファイルの限界サイズを超えるとこのエラーになる。
対策:upload_max_filesizeの値を変更する
この値は必然的にpost_max_sizeより少なくなければならない。
例えば2ファイル送信した場合はこの値の2倍の容量のpost_max_sizeを指定しなければ、ファイルが送信できない。

原因4.同時にアップロードできるファイルの最大数を超えた
特にエラーはでてないけれど、ファイルが全て送信されていない。データの数が合わない。
対策:max_file_uploadsの値を変更する

なお、これらの設定はphpinfoで表示できるので、それで確認することが可能。

php.iniで設定する場合
値 = 数値
例えば
memory_limit = 128M
と記述する。

.htaccessなら
php_value 値 数値
例えば
php_value memory_limit 16M

php中なら
ini_set(‘値’, ‘数値’);
例えば
ini_set(‘memory_limit’, ‘128M’);

WEB開発

タグ:

WEB開発の最新記事

2020年7月13日
印刷時改ページをする
2020年7月10日
PHPのJsを外部ドメインより呼び出す
2020年7月10日
ブラウザにキャッシュさせない

コメントを残す

メールアドレスが公開されることはありません。