pHPでのアップロードの最大サイズは、設定の数によって異なります。これらは、Apache仮想ホストファイルに入れられたとおりです。
php_admin_flag file_uploads on
php_admin_value memory_limit 560M
php_admin_value post_max_size 530M
php_admin_value upload_max_filesize 500M
php_admin_value max_execution_time 0
php_admin_value max_input_time 0
上記の値は無視してください。ただし、約150〜200Mのアップロードを許可できます。 memory_limit、post_max_size、upload_max_filesizeには、互いに特定の比率があります。私は信じている
upload_max_filesize < post_max_size < memory_limit
しかし、正確なサイズを計算する方法がわかりません。たとえば、正確に1億のファイルをアップロードできるようにするには、これらの設定の値は何である必要がありますか?私がオンラインで収集したものから、これらの比率を決定する多くの要因がありますが、これらの要因が何であるかについての参照を見つけることができませんでした。
linuxシステムを使用しています。
メモリ制限は、ファイルをアップロードするPOSTサイズとは無関係です。アップロードされたファイルは、PHPによって直接解析され、一時フォルダーに配置されます。
_upload_max_filesize
_は100Mである必要があり、_post_max_size
_は100M +マルチパートエンコーディングのオーバーヘッドである必要があります。境界でバイナリエンコードされているため、オーバーヘッドは低くなります。 101MBでも動作します。
$file = file_get_contents('path/to/uploaded/file.ext');
を実行すると、スクリプトがクラッシュする可能性があります。この場合、_memory_limit
_が起動するためです。