ホームページ >バックエンド開発 >PHPの問題 >PHPでポスト配列を送信する方法

PHPでポスト配列を送信する方法

WBOY
WBOYオリジナル
2023-05-24 19:12:35958ブラウズ

PHP アプリケーションの開発プロセスでは、POST 経由でデータを送信する必要がある場合があります。POST パラメーターは配列にすることができます。次に、PHPでPOST配列を転送する方法を紹介します。

最初の方法は、POST のパラメーターを JSON 文字列にエンコードしてサーバーに送信することです。このプロセスを実装するには、PHP 組み込み関数 json_encode を使用して POST 配列を JSON 文字列に変換する必要があります。

$post_array = array(
    'name' => 'Bob',
    'age' => 30
);

$post_json = json_encode($post_array);

その後、CURL または他のネットワーク ライブラリを使用して POST リクエストを送信できます。そして、以下に示すように JSON 文字列を転送します。

$curl = curl_init();

curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_json);
// 设置其他CURL选项

$response = curl_exec($curl);

curl_close($curl);

サーバー側では、 json_decode 関数を使用して、JSON 文字列を配列にデコードできます。

$json_str = file_get_contents('php://input');
$post_array = json_decode($json_str, true);

2 番目の方法は、 PHP 組み込み関数 http_build_query は、POST 配列を URL エンコード形式にエンコードします。この方法は、元の形式を保持せずにデータを渡す場合の使用に適しています。

$post_array = array(
    'name' => 'Bob',
    'age' => 30
);

$post_data = http_build_query($post_array);

次に、CURL または他のネットワーク ライブラリを使用して POST リクエストを送信し、次のように URL エンコードされた POST データを転送できます。

$curl = curl_init();

curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
// 设置其他CURL选项

$response = curl_exec($curl);

curl_close($curl);

サーバー側では、$ を使用できます。 _POST スーパー グローバル POST パラメーターを取得する変数:

$name = $_POST['name'];
$age = $_POST['age'];

メソッドに関係なく、POST 配列を渡すときは、CURL オプションとサーバー側の処理ロジックが正しく設定されていることを確認する必要があります。

以上がPHPでポスト配列を送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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