ホームページ  >  記事  >  バックエンド開発  >  PHPファイルを設定してアップロードするファイルのサイズを制限するにはどうすればよいですか?

PHPファイルを設定してアップロードするファイルのサイズを制限するにはどうすればよいですか?

黄舟
黄舟オリジナル
2017-05-20 16:54:002478ブラウズ

phpファイルを設定してアップロードされるファイルのサイズを制限するにはどうすればよいですか?

ウェブサイト開発のプロセスでは、サーバースペースを確実に最大限に活用できるように、アップロード機能の開発時にアップロードされるファイルのサイズを制御する必要があります。では、アップロードされるファイルのサイズを制御するにはどうすればよいでしょうか?

ファイルのサイズは 2 つの側面から制御できます:

1 つ目は、アップロードされたファイルを PHP 構成ファイル php.ini で制御することです。アップロードされたファイルが指定された範囲を超えた場合、アップロードが認識されます。

2 つ目は、プログラム内でアップロードされるファイルのサイズを、PHP 設定ファイルで許可されている範囲内で制御することです。

1: 設定ファイルを通じてアップロードされたファイルを制御する

PHP では、アップロードされたファイルは、アップロードがサポートされているかどうか、アップロードされたファイルの一時ファイル ディレクトリ、アップロードされたファイルのサイズなど、php.ini ファイルを通じて制御されます。ファイル、および命令によって割り当てられたメモリ空間。

php.iniでFile Uploads項目を定義し、アップロード関連のオプションの設定を完了します。アップロード関連のオプションの意味は次のとおりです:

file_uploads: 値が no の場合は、サーバーがファイルのアップロードをサポートしていることを意味し、オフの場合はサポートされていません。通常、これはデフォルトでサポートされており、これを変更する必要はありません。

upload_tmp_dri: ファイルをアップロードするための一時ディレクトリ。ファイルが正常にアップロードされる前に、ファイルはまずサーバー側の一時ディレクトリに保存されます。ほとんどの場合、システムのデフォルト ディレクトリが使用されますが、自分で設定することもできます。

upload_max_filesize: サーバーによってアップロードできるファイルの最大値 (MB 単位)。Web サイトで 2MB を超えるデータをアップロードする必要がある場合は、この値を変更する必要があります。

上記は、php.ini の File_Uploads 項目の上記に関連するパラメーター設定の説明です。File_Uploads 項目の内容に加えて、php.ini にはファイルのアップロードに影響する他のオプションがいくつかあります~

max_execution_time: PHP でコマンドを実行できる最大時間 (秒単位)。非常に大きなファイルをアップロードする場合は、このオプションを変更する必要があります。そうしないと、アップロードされたファイルがサーバーで許可されている範囲内であっても、コマンドの最大実行時間を超えると、アップロードはできなくなります~

memory_limit。 : PHP のコマンド 割り当てられたメモリ領域 (MB 単位)。そのサイズは、非常に大きなファイルのアップロードにも影響します。

2: プログラムでファイルのアップロードを制御する

クライアント側では、フォームの enctype 属性とメソッド属性、および隠しフィールド MAX_FILE_SIZE を使用して、ファイルのアップロードを制御します。

enctype = “multipart/form-data”: フォームエンコーディングデータメソッドを指定します。

method = "post": データの送信方法を指定します。

: 隠しドメインを通じてアップロードされるファイルのサイズ (バイト単位) を制御します。値は php.ini を超えることはできません。構成ファイル Upload_max_filesize オプションに設定された値によっては、アップロード ファイルのサイズを完全に制御することはできません。無用なトラブルを避けるためです。

ヒント:

ファイルのアップロード サイズを制御するときに隠しフィールド を適用する場合は、ファイル フィールドの前に配置する必要があります。うまくいきません うまくいきます!

以上がPHPファイルを設定してアップロードするファイルのサイズを制限するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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