php://input
存在/設定されているかどうかを確認する必要があります。それはphpで動作しisset()
ますか?それを確認する適切な方法は何ですか?
質問する
9124 次
4 に答える
18
file_get_contents()
(読み取り用)+empty()
またはブール変換(テスト用)でテストしてみてください:
<?php
$input = file_get_contents('php://input');
if ($input) {
// exists
} else {
// not exists
}
php.netから:
注: PHP 5.6 より前では、 で開いたストリーム
php://input
は 1 回しか読み取ることができませんでした。ストリームはシーク操作をサポートしていませんでした。ただし、SAPI の実装によっては、別の php://input ストリームを開いて読み取りを再開できる場合があります。これは、リクエスト本文のデータが保存されている場合にのみ可能です。通常、これは POST リクエストに当てはまりますが、PUT や PROPFIND などの他のリクエスト メソッドには当てはまりません。
于 2013-09-25T17:46:04.517 に答える
2
php://input
usingの内容を取得しfile_get_contents
、戻り値をチェックして、実際に設定されているかどうかを確認できます。
$input = file_get_contents("php://input");
if ($input) {
// set
}
else {
// not set
}
于 2013-09-25T17:45:56.873 に答える
1
変数が存在し、null でない場合は true を返します
$foo = 'bar';
var_dump(isset($foo)); -> true
$baz = null;
var_dump(isset($baz)); -> false
var_dump(isset($undefined)); -> false
于 2013-10-14T10:51:55.587 に答える
-2
このようなセットであるかどうかを確認できる POST リクエストからユーザー入力を取得しているとします。
if(isset($_POST['var_name']))
{
//for additional checking like if it's not empty do this
if(!empty($_POST['var_name']))
{
//Do whatever you want here
}
}
于 2013-09-25T17:50:10.650 に答える