PHPで大きなファイルをアップロードしているときに奇妙な問題が発生しました。
php.iniでは、max_execution_time30に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()ここでは機能していません。