ホームページ >バックエンド開発 >PHPチュートリアル >php://input 入力ストリームの詳細説明

php://input 入力ストリームの詳細説明

*文
*文オリジナル
2017-12-28 15:40:094155ブラウズ

この記事では主に PHP 入力ストリーム php://input の例を紹介し、入力ストリーム php://input を詳しく学習するための例を提供します。興味のある方は参考にしてください。お役に立てれば幸いです。

php://input の概要については、PHP 公式マニュアル文書に明確に概要が説明されている段落があります。
「php://input を使用すると、生の POST データを読み取ることができます。$HTTP_RAW_POST_DATA に代わるメモリ消費量が少なく、特別な php.ini ディレクティブは必要ありません。php://input は enctype= では使用できません。」 multipart/form-data".

翻訳すると、次のようになります。
"php://input は、未処理の POST データを読み取ることができます。 $HTTP_RAW_POST_DATA と比較すると、メモリへの負担が少なく、特別な php.ini 設定は必要ありません。 php://input は enctype=multipart/form-data には使用できません
概要は次のとおりです:

  • 1)、Coentent-Type は、値が application/x-www-data- の場合にのみ使用できます。 urlencoded と multipart/form - どちらのデータの場合でも、PHP は http リクエスト パケット内の対応するデータをグローバル変数 $_POST

  • 2) に埋めます。PHP が Content-Type タイプを認識しない場合は、埋め込まれます。データは変数 $HTTP_RAW_POST_DATA に入力されます

  • 3) Coentent-Type が multipart/form-data の場合にのみ、PHP は http リクエストの対応するデータを入力しません。パケットを php://input に追加します。それ以外の場合は、埋め込まれた長さは、Content-Type が application/x-www-data- の場合のみです。 urlencoded、php://input データは $_POST データと一貫性があります

  • 5)、php://input データは常に $HTTP_RAW_POST_DATA と同じですが、php://input は $HTTP_RAW_POST_DATA より効率的です。 php.ini の特別な設定は必要ありません

  • 6)。PHP は、PATH フィールドの query_path 部分に、グローバル変数 $_GET を入力します。通常、GET メソッドによって送信された http リクエストの本文は空です。要約すると、$_POST を使用して APP を取得することはできません。または、一部のインターフェイスからデータをコールバックする場合は、XML データを受け入れる

  • 2 を使用してみてください。携帯電話からサーバーに写真をアップロードするためのミニプログラム

  • 送信

受信



3: を入手HTTP リクエストの原文

//发送xml数据
$xml = &#39;<xml>xmldata</xml>&#39;;//要发送的xml 
$url = &#39;http://localhost/test/getXML.php&#39;;//接收XML地址 
$header = &#39;Content-type: text/xml&#39;;//定义content-type为xml 
$ch = curl_init(); //初始化curl 
curl_setopt($ch, CURLOPT_URL, $url);//设置链接 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//设置是否返回信息 
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//设置HTTP头 
curl_setopt($ch, CURLOPT_POST, 1);//设置为POST方式 
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);//POST数据 
$response = curl_exec($ch);//接收返回信息 
if(curl_errno($ch)){//出错则显示错误信息 
print curl_error($ch); 
} 
curl_close($ch); //关闭curl链接 
echo $response;//显示返回信息 


// php用file_get_contents("php://input")或者$HTTP_RAW_POST_DATA可以接收xml数据
$xmldata = file_get_contents("php://input"); 
$data = (array)simplexml_load_string($xmldata);


関連推奨事項:


PHP post get

配列を送信する php post メソッド


php投稿データ大量のデータを投稿した場合の損失問題の解決策、投稿データ損失_PHP チュートリアル

以上がphp://input 入力ストリームの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。