ホームページ  >  記事  >  php教程  >  PHP ファイルのアップロード関連の構成チュートリアル

PHP ファイルのアップロード関連の構成チュートリアル

WBOY
WBOYオリジナル
2016-06-21 08:49:091280ブラウズ

この記事では主にPHPファイルアップロードの設定に関する知識ポイントを解説します。 PHP ファイルのアップロード機能の設定には主に、php.ini 設定ファイルの Upload_tmp_dir、upload_max_filesize、post_max_size およびその他のオプションが含まれます。以下で 1 つずつ説明します。

php.ini 構成ファイルを開き、ファイルのアップロードを見つけます

file_uploads = オン

HTTP ファイルのアップロードはデフォルトで許可されており、このオプションをオフに設定することはできません。

upload_tmp_dir =

デフォルトは空です。PHP 実行環境を手動で設定する場合、このオプションは忘れられがちです。このオプションが設定されていない場合、ファイルのアップロード時にファイルが保存される一時ディレクトリを設定できません。このオプションには、upload_tmp_dir ='/leapsoulcn' などの値を割り当てる必要があります。これは、Linux 環境の場合は、Leapsoulcn ディレクトリが存在することを意味します。このディレクトリに書き込み権限を与える必要があります。

8M を超える大きなファイルをアップロードするにはどうすればよいですか?

大きなファイルのアップロードには、主に、upload_max_filesize オプションと post_max_size オプションの構成が含まれます。

php.ini 設定ファイルのデフォルトのファイルアップロードサイズは 2M です。PHP 初心者がよく犯す間違いの 1 つは、ファイルアップロード関数を作成するときに、アップロードされるファイルの最大サイズにフォーム領域を設定することです。アップロードできるファイルの最大サイズは、max_file_size (非表示の値フィールド) の値によって決まります。実際、他のユーザーはこの値をバイパスできるため、安全上の理由から、upload_max_filesize オプションを設定することが最善です。 php.ini 設定ファイルでファイルのアップロードのサイズを設定します。

デフォルトの Upload_max_filesize = 2M、つまり、20M など、8M を超えるファイルをアップロードする場合は、upload_max_filesize = 20M を設定する必要があります。

ただし、upload_max_filesize = 20M に設定するだけでは、大きなファイルのアップロード機能を実現することはできません。POST に許可されるデータの最大バイト長を表す php.ini 設定ファイルの post_max_size オプションを変更する必要があります。 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 プログラムと組み合わせることで、ファイル アップロード機能を実現できます。 。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。