ホームページ  >  記事  >  バックエンド開発  >  PHP は HTTP POST でさまざまな形式のデータを取得します

PHP は HTTP POST でさまざまな形式のデータを取得します

藏色散人
藏色散人転載
2019-04-27 09:43:122805ブラウズ

HTTP プロトコルの POST メソッドには複数の形式のデータ プロトコルがあり、HTTP ヘッダーのさまざまな Content-type によって識別されます。一般的に使用されるものは、

application/x-www-form です。 - 最も一般的な urlencoded は、from フォームの形式であり、HTTP ヘッドでは、Content-Type: application/x-www-form-urlencoded.

になります。

multipart/form-data、これはファイルのアップロードに使用され、HTTP ヘッドでは Content-Type: multipart/form-data; border=----WebKitFormBoundary7MA4YWxkTrZu0gW になります。

Raw これは特に一般的には使用されません。送信されるデータは HTTP ボディに 1 つのセグメントのみを持ち、キーと値のペアの形式で格納されません。HTTP ヘッドでは、Content-タイプ: application/jsonContent-Type: textContent-Type: application/xmlContent-Type: text/xml など

Content-Type: application/x-www-form-urlencoded

の場合、このフォームのデータは、$_POST['name']を使用してphpで直接取得できます。特別な

Content-Type: multipart/form-data;

この形式のデータは、php で $_POST['name'] を使用して取得できます。 $_FILES['file'].Raw 形式のデータの場合、上記 2 つの方法では取得できないため、他の方法を使用する必要があります。

1.

file_get_contents("php://input")

Get を使用します; テストするために簡単な php ファイルを作成します<pre class="brush:php;toolbar:false">&lt;?php $test=file_get_contents(&quot;php://input&quot;); echo $test;</pre>postman でテストします

PHP は HTTP POST でさまざまな形式のデータを取得します問題ありません、受信できます

2.

$GLOBALS['HTTP_RAW_POST_DATA']

Receive<pre class="brush:php;toolbar:false">&lt;?php $test=$GLOBALS[&amp;#39;HTTP_RAW_POST_DATA&amp;#39;]; echo $test;</pre>を使用して postman でテストしてください

PHP は HTTP POST でさまざまな形式のデータを取得します クソ、何か問題が発生しました。プロンプトが見つかりませんでした。

HTTP_RAW_POST_DATA

この配列インデックスは一体何ですか? Google で検索したところ、次の段落を見つけました。 PHP Words の公式サイト

PHP は HTTP POST でさまざまな形式のデータを取得します

HTTP_RAW_POST_DATA

は php5.6 で廃止され、php7.0 以降のバージョンでは削除されていることがわかりました。私が使用しているのは、php のバージョンが 7.2 です。何かが間違っているはずです。わかりました。

file_get_contents("php://input")

Get it 実際の開発では、 , フレームワークを使うのが一般的ですが、私はthinkphpをよく使います。tp5.0ではRequestのgetInput()関数を使ってRaw

<?php

namespace app\index\controller;

use think\Request;

class Index
{
    public function index(Request $request)
    {
        echo $request->getInput();
    }
}

Test it

のデータを取得できます。

PHP は HTTP POST でさまざまな形式のデータを取得します問題ありません、普通に取得できます

ここではPHPでHTTP POSTデータを取得する方法を紹介しますので、困っている方の参考になれば幸いです!

以上がPHP は HTTP POST でさまざまな形式のデータを取得しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はaliyun.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。