ホームページ >バックエンド開発 >PHPチュートリアル >PHP ファイルのアップロードについて知っておくべきこと、_PHP チュートリアル
この記事では主にPHPファイルアップロードの設定に関する知識ポイントを説明します。 PHP ファイルアップロード機能の設定には主に、php.ini 設定ファイル内の upload_tmp_dir、upload_max_filesize、post_max_size およびその他のオプションが含まれます。以下で 1 つずつ説明します。
php.ini設定ファイルを開き、File Uploads
を見つけます
file_uploads = オン
HTTP ファイルのアップロードはデフォルトで許可されており、このオプションをオフに設定することはできません。
upload_tmp_dir =
デフォルトは空です。このオプションが設定されていない場合、ファイルをアップロードするときにファイルを保存する一時ディレクトリを設定することはできません。このオプションの割り当て (upload_tmp_dir ='/leapsoulcn' など) は、C ドライブ ディレクトリに Leapsoulcn ディレクトリが存在することを意味します。Linux 環境の場合は、このディレクトリを指定する必要があります。書き込み可能な権限。
8Mを超える大きなファイルをアップロードするにはどうすればよいですか?
大きなファイルをアップロードするには、主に、upload_max_filesizeとpost_max_sizeの2つのオプションを設定する必要があります。
php.ini 設定ファイルのデフォルトのファイルアップロードサイズは 2M です。PHP 初心者がよく犯す間違いの 1 つは、ファイルアップロード関数を作成するときに、アップロードされるファイルの最大サイズ、つまり の最大値をフォーム領域に設定することです。アップロードが許可されるファイル、アップロードされるファイルのサイズを指定する max_file_size (非表示の値の範囲) 実際、通常、他のユーザーはこの値をバイパスできるため、安全上の理由から、php.ini で Upload_max_filesize オプションを設定するのが最善です。構成ファイルを使用して、ファイルのアップロードのサイズを設定します。
デフォルトの upload_max_filesize = 2M、つまり、ファイルのアップロード サイズは 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 プログラムと組み合わせて上記の手順を実践および学習することで、ファイル アップロード機能を実現できます。