ホームページ  >  記事  >  バックエンド開発  >  ベテランが PHP_PHP チュートリアルでのファイルアップロードの実装について語る

ベテランが PHP_PHP チュートリアルでのファイルアップロードの実装について語る

WBOY
WBOYオリジナル
2016-07-15 13:26:49822ブラウズ

PHP はまだ比較的一般的に使用されているため、PHP アップロード ファイルを研究し、ここで皆さんに共有したいと思います。 PHP のデフォルトのアップロード制限は最大 2M です。この設定を超えるファイルをアップロードする場合は、PHP や Apache などのいくつかのパラメータを調整する必要があります。

以下では、PHP ファイルのアップロードに関連するいくつかのパラメーターを簡単に紹介します。 file_uploads により、スイッチは HTTP 経由でファイルをアップロードできます。これは、upload_tmp_dir が一時的な配置を説明するために使用されることを意味します。ファイルをアップロードする場合は、サーバーが一時ファイルを閉じていないこと、およびフォルダーへの書き込み権限があることを確認する必要があります。指定しない場合、PHP はシステムのデフォルト値 Upload_max_filesize を使用して最大アップロードを許可します。ファイル サイズ。デフォルトは 2Mpost_max_size です。

POST を使用して制御します。フォーム送信時に PHP が受信できるデータの最大量。 PHP ファイルのアップロード機能を使用する場合は、この値を Upload_max_filesize よりも大きくする必要があります。max_input_time は、POST、GET、および PUT によるデータの受信時間を秒単位で制限します。アプリケーションが低速リンクで実行されている場合は、データの受信に必要な時間の増加に対応するためにこの値を増やす必要があります。限界。

memory_limit 変数を使用して、単一のスクリプトが使用できる最大メモリ容量を指定します。変数memory_limit の値は、post_max_size の値より適切に大きい必要があります。 max_execution_time は、PHP がスクリプトの実行を待機する時間を設定します。スクリプトを強制終了する時間は秒単位で計算されます。この変数は、スクリプトが無限ループに入った場合に役立ちます。ただし、完了までに時間がかかる正当なアクティビティ (大きなファイルのアップロードなど) がある場合、この機能により操作が失敗する可能性もあります。このような場合、スクリプトがいくつかの重要なプロセスを実行しているときに PHP がスクリプトをシャットダウンしないように、この変数の値を増やすことを検討する必要があります。この変数は、/etc/httpd/conf.d/access.conf の下にある可能性があります。 / 一部のシステムのファイル サイズ制限の問題を解決できる php.conf ファイルもあります。

discuzを使用してPHPファイルアップロードアプリケーションを実装する例

フォーラムの添付機能は、サーバー構成、PHP、ネットワーク、その他の要因により、元々ファイル管理用に設計されたものではありません。良い解決策。フォーラムの添付ファイルをアップロードするための条件を改善する必要がある場合は、php.ini で上記のパラメータを設定して、大きなファイルのアップロードのニーズに適応することを試みることができます。同時に、フォーラムのバックグラウンドで添付ファイルの制限を設定することを忘れないでください。

同時に、http 経由で大きな添付ファイルをアップロードすることに成功した友人が提供した設定ガイドを紹介します。もちろん、サーバーの設定やネットワークの状況は人それぞれ異なるため、必ずしもあなたの状況に当てはまるとは限りません。参照によって変更する必要がある多くの場所: php.ini を開き、

<ol class="dp-xml">
<li class="alt"><span><span>file_uploads  on  是否允许通过HTTP上传文件的开关。默认为ON即是开    </span></span></li>
<li class=""><span>upload_tmp_dir  --  文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹    </span></li>
<li class="alt"><span>upload_max_filesize  8m  望文生意,即允许上传文件大小的最大值。默认为2M    </span></li>
<li class=""><span>post_max_size  8m  指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M   </span></li>
</ol>

通常、上記の 4 つのパラメータを設定した後、通常のネットワーク条件下では、8M 以下のファイルをアップロードしても問題ありません。 8Mを超える大きなファイルをアップロードしたい場合は、上記の4つの項目を設定するだけで問題なく動作します。実際にネットワークのアップロード速度が 100M/S でない限り、次のパラメータを設定し続ける必要があります。

<ol class="dp-xml">
<li class="alt"><span><span>max_execution_time  600  每个PHP页面运行的最大时间值(秒),默认30秒    </span></span></li>
<li class=""><span>max_input_time  600  每个PHP页面接收数据所需的最大时间,默认60秒    </span></li>
<li class="alt"><span>memory_limit  8m  每个PHP页面所吃掉的最大内存,默认8M   </span></li>
</ol>

上記のパラメータを変更すると、ネットワークで許可されている通常の状況で大きなファイルをアップロードできます


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/446563.html技術記事 PHP はまだ比較的一般的に使用されているため、PHP アップロード ファイルを研究し、ここで共有しました。皆さんのお役に立てれば幸いです。 PHP のデフォルトのアップロード制限は最大 2M です。アップロードしたい場合は...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。