PHP がフォーム データを取得するためのいくつかのメソッド:
1. file_get_contents を使用して、取得モードでコンテンツを取得します。必要な入力コンテンツは次のとおりです。 :
<?php $url='http://www.domain.com/?para=123'; $html = file_get_contents($url); echo $html; ?>
2. file_get_contents 関数を使用して、ポスト モードで URL を取得します。必要な入力コンテンツは次のとおりです:
<?php $url = 'http://www.domain.com/test.php?id=123'; $data = array ('foo' => 'bar'); $data = http_build_query($data); $opts = array ( 'http' => array ( 'method' => 'POST', 'header'=> "Content-type: application/x-www-form-urlencoded\r\n" . "Content-Length: " . strlen($data) . "\r\n", 'content' => $data ) ); $ctx = stream_context_create($opts); $html = @file_get_contents($url,'',$ctx); ?>
関連する推奨事項: "PHP チュートリアル "
3. fopen を使用して URL を開いて、get モードでコンテンツを取得します。入力コンテンツは次のとおりです:
<?php $fp = fopen($url, 'r'); $header = stream_get_meta_data($fp);//获取信息 while(!feof($fp)) { $result .= fgets($fp, 1024); } echo "url header: {$header} <br>": echo "url body: $result"; fclose($fp); ?>
4. fopen を使用して URL を開いて、post モードでコンテンツを取得します。内容は:
<?php $data = array ('foo2' => 'bar2','foo3'=>'bar3'); $data = http_build_query($data); $opts = array ( 'http' => array ( 'method' => 'POST', 'header'=> "Content-type: application/x-www-form-urlencoded\r\nCookie:cook1=c3;cook2=c4\r\n" . "Content-Length: " . strlen($data) . "\r\n", 'content' => $data ) ); $context = stream_context_create($opts); $html = fopen('http://www.test.com/zzzz.php?id=i3&id2=i4','rb' ,false, $context); $w=fread($html,1024); echo $w; ?>
5. fsockopen 関数を使用して URL を開き、ヘッダーと本文を含む完全なデータを取得モードで取得します。必要な入力内容は次のとおりです:
?php function get_url ($url,$cookie=false) { $url = parse_url($url); $query = $url[path]."?".$url[query]; echo "Query:".$query; $fp = fsockopen( $url[host], $url[port]?$url[port]:80 , $errno, $errstr, 30); if (!$fp) {return false; } else { $request = "GET $query HTTP/1.1\r\n"; $request .= "Host: $url[host]\r\n"; $request .= "Connection: Close\r\n"; if($cookie) $request.="Cookie: $cookie\n"; $request.="\r\n"; fwrite($fp,$request); while(!@feof($fp)) { $result .= @fgets($fp, 1024); } fclose($fp); return $result; } } //获取url的html部分,去掉header function GetUrlHTML($url,$cookie=false) { $rowdata = get_url($url,$cookie); if($rowdata) { $body= stristr($rowdata,"\r\n\r\n"); $body=substr($body,4,strlen($body)); return $body; } return false; } ?>
以上がPHPでフォームデータを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。