ホームページ > バックエンド開発 > PHPチュートリアル > php_PHP チュートリアルの http_build_query の問題

php_PHP チュートリアルの http_build_query の問題

WBOY
リリース: 2016-07-21 15:19:40
オリジナル
916 人が閲覧しました

CURL を使用してデータを投稿する場合、投稿データを設定する必要があります
curl_setopt($c, CURLOPT_POSTFIELDS, $post_data);

ここで $data が

の場合、コードをコピーします コードは次のとおりです。

$ data = array(
'name'=>'scofield',
'time'=>'2012-2-3'
)

次に、最初に $data を文字列に変換する必要があります
$post_data = http_build_query($data);
変換後に http_build_query を使用して
curl_setopt($c, CURLOPT_POSTFIELDS, $post_data); 問題ないようです。ただし、実際の運用では $post_data はポストされません。ということで、変換方法を書いてみたらOKでした。


コードをコピー コードは次のとおりです:
function getStr($array,$Separator='&') {
if (empty($array))
return;配列)) {
return $array;
}
$returnStr = '';
foreach ($key => $val) {
$temp = '';
for ($i = 0; $i $returnStr .= $key . '=' . ] . $ Separator;
}
} else {
$returnStr.= $val . $Separator;
$returnStr(trim($returnStr), 0, -1) ;
return $returnStr;
}


http_build_query($data,"","&"); をテストしてくれた Huang Bin-huangbin に感謝します。自分で解析するメソッドを記述する必要はありません。

http_build_query リモートの攻撃者がこの脆弱性を悪用して、機密メモリ情報を取得する可能性があります。慎重に使用してください


http://www.bkjia.com/PHPjc/325209.html

www.bkjia.com

tru​​e

技術記事 CURL を使用してデータを投稿する場合、投稿データを設定する必要があります。curl_setopt($c, CURLOPT_POSTFIELDS, $post_data); $data がコピー コードの場合、コードは次のようになります。 $data = arr...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート