PHP.INI: ファイルアップロード機能の設定
転載元: http://www.leapsoul.cn/?p=488
注: Apache サーバーの場合は、apache フォルダーに php.ini ファイルを設定する必要があります
PHP ファイルアップロード機能の設定には、主に php.ini 設定ファイルの Upload_tmp_dir、upload_max_filesize、post_max_size などのオプションが関係します。
php.ini のファイルアップロード機能の設定オプションの説明
php.ini 設定ファイルを開き、File Uploads を見つけます
file_uploads = On
HTTP ファイルのアップロードはデフォルトで許可されており、このオプションを OFF に設定することはできません。
upload_tmp_dir =
このオプションは、PHP 実行環境を手動で構成する場合に忘れられやすいため、ファイルがアップロードされます。関数は実装できません。このオプションは、ファイルをアップロードするときにファイルが保存される一時ディレクトリを設定する必要があります (upload_tmp_dir ='/leapsoulcn' など)。これは、C ドライブ ディレクトリに Leapsoulcn ディレクトリがあることを意味します。これはセッション構成と同じです。Linux 環境の場合は、このディレクトリに書き込み権限を与える必要があります。
8Mを超える大きなファイルをアップロードするにはどうすればよいですか?
大きなファイルのアップロードには、主に、upload_max_filesize オプションと post_max_size オプションの構成が含まれます。
php.ini 設定ファイルのデフォルトのファイルアップロードサイズは 2M です。PHP 初心者がよく犯す間違いの 1 つは、ファイルアップロード関数を作成するときに、ファイルをアップロードするためのフォーム領域の最大サイズを設定することです。 、アップロードされるファイルの最大サイズが許可されます。アップロードされるファイルのサイズを指定する最大値、max_file_size (隠し値フィールド) の値です。実際、他のユーザーはこの値をバイパスできるため、安全上の理由から、この値を設定することが最善です。 php.ini 設定ファイルの Upload_max_filesize オプションを使用して、ファイルのアップロード サイズを設定します。
デフォルトの Upload_max_filesize = 2M、つまり、20M など、8M を超えるファイルをアップロードする場合は、upload_max_filesize = 20M を設定する必要があります。
ただし、upload_max_filesize = 20M を設定するだけでは、依然として大きなファイルのアップロード機能を実現できません。POST に許可されるデータの最大バイト長を表す php.ini 設定ファイルの post_max_size オプションを変更する必要があります。デフォルトは8Mです。 POST データが制限を超えると、$_POST と $_FILES は空になります。大きなファイルをアップロードするには、このオプションを、upload_max_filesize コマンドの値よりも大きい値に設定する必要があります。通常、upload_max_filesize と post_max_size の値は等しくなるように設定します。さらに、メモリ制限が有効な場合、この値はmemory_limitオプションの値より小さくする必要があります。
ファイルアップロードに関するその他の注意事項
大きなファイルをアップロードする場合、一定の時間を超えるとアップロード速度が遅いと報告されます。スクリプト実行が超過 30 秒のエラーは、php.ini 設定ファイルの max_execution_time 設定オプションによって発生します。これは、各スクリプトの最大許容実行時間 (秒) を示し、0 は制限がないことを示します。 max_execution_time の値を適切に調整することはできますが、0 に設定することはお勧めできません。
この時点で、php.ini 構成ファイルでファイル アップロード オプションを構成するための PHP チュートリアルが導入され、PHP プログラムと組み合わせた上記の手順の実践と学習を通じて、ファイル アップロード機能が導入されました。実現できる。