PHP の post_max_size を超えるファイル アップロードの処理
PHP でファイル アップロードを処理する場合、post_max_size 制限を超えると問題が発生する可能性があります。サイズが大きいファイルに対してファイル サイズ 0 を返す Upload_max_filesize とは異なり、post_max_size を使用すると、エラー メッセージが表示されずにスクリプトが失敗する可能性があります。
ファイル サイズ制限エラーを検出する方法
1.空のスーパーグローバルを確認します:
PHP ドキュメントによると、ポスト データが post_max_size を超える場合、$_POST および $_FILES スーパーグローバルは空になります。これを検出するには、$_POST が空でない場合にのみ設定されるクエリ パラメーターをフォームに渡します。
if (isset($_GET['processed'])) { // Perform file upload processing } else { // Display blank form }
2. $_SERVER['CONTENT_LENGTH']:
と比較する別の方法は、ファイル データだけでなくマルチパート シーケンスも含まれる CONTENT_LENGTH ヘッダーを post_max_size 設定と比較することです。
if ($_SERVER['CONTENT_LENGTH'] > ini_get('post_max_size')) { // Error handling for oversized file }
注: これらのメソッドを使用すると、サイズ超過のファイルを検出できますPHP がエラーを生成することはありません。ただし、大きなファイルによる潜在的なセキュリティ問題やパフォーマンスの低下を防ぐために、php.ini ファイルでこれらの設定を調整することが重要です。
以上がファイルのアップロードが PHP の `post_max_size` 制限を超えたことを検出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。