ホームページ >バックエンド開発 >PHPチュートリアル >PHP チュートリアル: POST データの 3 つの方法_PHP チュートリアル

PHP チュートリアル: POST データの 3 つの方法_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 14:58:011051ブラウズ

phpにはデータを投稿できる3つの方法があり、それぞれCurl、socket、file_get_contents:

请見る以下の代価:

/**
* ソケットバージョン
* 使用方法:
* $post_string = "app=socket&version=beta";
* request_by_socket('facebook.cn','/restServer.php',$post_string);
* http によるダウンロード: / /www.bkjia.com/down
*/
function request_by_socket($remote_server,$remote_path,$post_string,$port = 80,$timeout = 30){
$socket = fsockopen($remote_server,$port,$errno,$errstr ,$timeout);
if (!$socket) die("$errstr($errno)");

fwrite($socket,"POST $remote_path HTTP/1.0rn");
fwrite($socket,"ユーザーエージェント: ソケットの例rn");
fwrite($socket,"HOST: $remote_serverrn");
fwrite( $socket,"Content-type: application/x-www-form-urlencodedrn");
fwrite($socket,"Content-length: ".strlen($post_string)+8."rn");
fwrite($ソケット,"Accept:*/*rn");
fwrite($socket,"rn");
fwrite($socket,"mypost=$post_stringrn");
fwrite($socket,"rn");

$header = "";
while ($str = トリム(fgets($socket,4096))) {
$header.=$str;
}

$data = "";
while (!feof($socket)) {
$data .= fgets($socket,4096);
}

$data を返す;
}

/**
* Curl バージョン本
* 使用方法:
* $post_string = "app=request&version=beta";
* request_by_curl('http://facebook.cn/restServer.php',$post_string);
*/
function request_by_curl($remote_server,$post_string){
$ch =curl_init();
curl_setopt($ch,CURLOPT_URL,$remote_server);
curl_setopt($ch,CURLOPT_POSTFIELDS,'mypost) ='.$post_string);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_USERAGENT,"Jimmy's CURL Example beta");
$data =curl_exec($ch);
curl_close($ch) ;
return $data;
}
/**
* 他のバージョン
* 使用方法:
* $post_string = "app=request&version=beta";
* request_by_other('http://facebook.cn/restServer.php',$post_string);
*/
function request_by_other($remote_server,$post_string){
$context = array(
'http'=>array(
'method'=> 'POST',
'header'=>'Content-type: application/x-www-form-urlencoded'.”rn”.
'User-Agent : Jimmy's POST Example beta'.”rn”.
'Content -length: '.strlen($post_string)+8,
'content'=>'mypost='.$post_string)
);
$stream_context = stream_context_create($context);
$data = file_get_contents($remote_server, FALSE,$stream_context);
$data を返す;
}

?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/363900.html技術記事 php には、Curl、socket、file_get_contents の 3 つの方法があります。以下を参照してください。 /** * Socket バージョン * 使用方法: * $post_string = app=socketversion=beta...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。