ファイルのアップロードを実装するための PHP の適切な構成
php.iniを適切に設定する
PHPファイルアップロード機能を実装するためにphp.iniを設定する方法。これには、php.ini 設定ファイルの Upload_tmp_dir、upload_max_filesize、post_max_size およびその他のオプションが関係します。これらのオプションが、ファイルのアップロードの成功または失敗の鍵となります。例として php.5.3 バージョンを取り上げます。
php.ini 設定ファイルを開き、file_uploads を探します。この領域には次の 3 つのオプションがあります:
file_uploads = On
HTTP ファイルのアップロードを許可するかどうか。デフォルト値はオンで、HTTP ファイルのアップロードを許可します。このオプションをオフに設定することはできません。
Upload_tmp_dir =
ファイルアップロード用の一時保存ディレクトリ。指定しない場合、PHP はシステムのデフォルトの一時ディレクトリを使用します。このオプションは、デフォルトでは空です。このオプションは、PHP 実行環境を手動で構成するときに忘れられやすいため、このオプションに値 (upload_tmp_dir = " など) を割り当てる必要があります。 /home/tmp"、これは、ホーム ディレクトリの下に tmp ディレクトリがあり、すべてのユーザーにこのディレクトリへの読み取りおよび書き込み権限が与えられることを意味します。
Upload_max_filesize = 2M
アップロードされるファイルの最大サイズ。このオプションのデフォルト値は 2M です。つまり、50M のファイルをアップロードする場合は、upload_max_filesize = 50M を設定する必要があります。
ただし、upload_max_filesize = 50M を設定するだけでは、まだ大きなファイルのアップロード機能を実現できません。php.ini ファイルの post_max_size オプションも変更する必要があります。
max_file_uploads = 20
一度にアップロードできるファイルの最大数を設定します
php.ini でデータ処理の検索を続けます:
post_max_size = 8M
を参照します。フォームを通じて PHP に送信されるすべてのデータ POST フォーム内のすべての値を含む、受信できる最大値。デフォルトは8Mです。 POST データが制限を超えると、$_POST と $_FILES は空になります。
大きなファイルをアップロードするには、このオプションの値を、upload_max_filesize オプションの値より大きく設定する必要があります。たとえば、upload_max_filesize = 50M に設定した場合、post_max_size = 100M に設定できます。
さらに、メモリ制限が有効な場合、値はmemory_limitオプションの値よりも小さい必要があります。
php.ini でリソース制限を探し続けます。この領域には 3 つのオプションがあります:
max_execution_time = 30
各 PHP ページの実行時間の最大値 (秒)、デフォルトは 30 秒です。 50M ファイルなどの大きなファイルをアップロードする場合、完了までに数分かかる可能性があります。ただし、PHP ページのデフォルトの最大実行時間は 30 秒を超えると、スクリプトの実行が停止します。その結果、Web ページを開くことができなくなります。したがって、max_execution_time = 600 など、より大きな値を設定できます。 0 に設定すると、時間制限がないことを意味します。
max_input_time = 60
各 PHP スクリプトがリクエスト データを解析するために使用する時間 (秒)、デフォルトは 60 秒です。大きなファイルをアップロードする場合は、この値をより大きく設定できます。 0 に設定すると、時間制限がないことを意味します。
memory_limit = 128M
このオプションは、単一の PHP スクリプトが適用できる最大メモリ空間を設定するために使用されます。これは、不適切に書かれたスクリプトがサーバー上の使用可能なメモリを使い果たすことを防ぐのに役立ちます。メモリ制約が必要ない場合は、これを -1 に設定します。
php5.2.0 のデフォルト バージョンは 8M で、php.5.2.0 のデフォルト バージョンは 16M です。 php 5.2.0 以降のバージョンのデフォルトは 128M です。
php.ini 設定のファイルアップロード関数の例
50M の大きなファイルをアップロードするとします。 php.ini を次のように設定します:
file_uploads = オン
Upload_tmp_dir = "/home/fileuploadtmp"
Upload_max_filesize = 50M
post_max_size = 100M
max_execution_time = 600
max_input_time = 600
memory_limit = 1 28M
ヒント: Memory_limit > post_max_size > を維持する必要があります; Upload_max_filesize
この例は参考用です。実際の状況に応じて調整できます。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。
