request_parse_body
(PHP 8 >= 8.4.0)
request_parse_body — リクエストボディを読み取り、解析して結果を返す
説明
この関数は リクエストボディを読み取り、
Content-Type
ヘッダーに基づき解析します。
現在、2つのコンテンツタイプをサポートしています:
-
application/x-www-form-urlencoded
-
multipart/form-data
この関数は、 POST
以外のHTTPメソッドで送信された
multipart/form-data
を解析するために使用されます。
これらのリクエストでは、スーパーグローバルの
$_POST や $_FILES は自動的に設定されません。
警告
request_parse_body() は、リクエストボディを
php://input
ストリームにバッファせずに処理します。
パラメータ
options
-
options
パラメータは連想配列を受け取り、 リクエストボディの解析に関連する以下のグローバル php.ini の設定を上書きします。max_file_uploads
max_input_vars
max_multipart_body_parts
post_max_size
upload_max_filesize
エラー / 例外
Content-Type
ヘッダーに基づいて解析を試み、リクエストボディが無効な場合、
RequestParseBodyException をスローします。
options
に無効なキーが含まれている、
または、対応するキーに無効な値が設定されている場合は、
ValueError をスローします。
例
例1 request_parse_body() の例
<?php
// Parse request and store result in the $_POST and $_FILES superglobals.
[$_POST, $_FILES] = request_parse_body();
// Echo the content of some transferred file
echo file_get_contents($_FILES['file_name']['tmp_name']);
?>
例2 オプションを設定した request_parse_body() の例
<?php
// form.php
assert_logged_in();
// Only for this form, we allow a bigger upload size.
[$_POST, $_FILES] = request_parse_body([
'post_max_size' => '10M',
'upload_max_filesize' => '10M',
]);
// Do something with the uploaded files.
?>
+add a note
User Contributed Notes
There are no user contributed notes for this page.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google