PHPで大きなファイルをアップロードしているときに奇妙な問題が発生しました。
php.iniでは、max_execution_time
30にpost_max_size
設定され、32Mに設定され、32Mにupload_max_filesize
設定されます。サイズが40.2MBのファイルをアップロードしようとしても、エラーは表示されません。$_FILES
変数には値がarray(0) { }
あり、を示し$_FILES['userfile']
ますNULL
。
ファイルサイズがphp.iniで設定された値より大きい場合は、エラーメッセージが返されます。
UPLOAD_ERR_INI_SIZE、値:1; アップロードされたファイルがphp.iniのupload_max_filesizeディレクティブを超えています。
ただし、エラーも表示されていません($_FILES
空の配列も同様です)。なぜこれが起こっているのか私にはわかりません。
php.iniを変更し、post_max_sizeを64Mにupload_max_filesize
設定し、64Mに設定すると、正常に動作します。そこで、php.iniファイルを変更する代わりに、次のコードを使用することにしました。
ini_set('upload_max_filesize', '64M');
ini_set('post_max_size', '64M');
ini_set('max_execution_time', 300);
私も増やしてみましたmax_execution_time
。それでも、私は同じ問題を抱えています。ini_set()
ここでは機能していません。