ホームページ >php教程 >php手册 >PHPストリーム

PHPストリーム

WBOY
WBOYオリジナル
2016-06-21 08:54:51896ブラウズ

機能: テキストデータストリームの作成と返却、fopen()やfile_get_contents()などの処理のタイムアウト設定、プロキシサーバー、リクエストメソッド、ヘッダ情報の設定などの特殊な処理に使用できます。
関数プロトタイプ: resource stream_context_create ([ array $options [, array $params ]] )
使用法
例 1:

コードをコピー コードは次のとおりです:


$opts = array( 'http-->array(
'method'=>"GET",
'header'=>"受け入れ言語: enrn" .
"Cookie: foo=barrn"
)
);
$context = stream_context_create($opts);
/* http リクエストを www.jb51.net に送信します
上に示す追加のヘッダー */
$fp = fopen('http://www.jb51.net', 'r', false, $context); >fclose($fp);
?>


例 2:

コードをコピー コードは次のとおりです:

$opts = array( 'http-->array(
'method'=>"GET",
'header'=>"受け入れ言語: enrn" .
"Cookie: foo=barrn"
)
);
$context = stream_context_create($opts);
?>
ヘッダーは次のように設定します。 :
$opts = array( 'http-->array(
'method'=>"GET",
'header'=>array("Accept - language: en",
"Cookie: foo=bar",
"Custom-Header: value")
)
);
$context = stream_context_create($opts);
?>


例 3:

コードをコピー コードは次のとおりです:

$opts = array('http' => array('proxy' => 'tcp://127.0.0.1:8080', 'request_fulluri' => true)) ;
$context = stream_context_create($opts);
$data = file_get_contents('http://www.jb51.net', false, $context); >



例 4:

コードをコピー

コードは次のとおりです: function do_post_request($url, $postdata, $files = null)

{

$data = ""
$boundary = "------ ---------------".substr(md5(rand(0,32000)), 0, 10);
//Postdata を収集
foreach($postdata as $ key => $val)
{
$data .= "--$boundaryn";
$data .= "Content-Disposition: form-data; name="".$key." "nn".$val."n";
}
$data .= "--$boundaryn";
// ファイルデータを収集
foreach($files as $key => $ file)
{
$fileContents = file_get_contents($file['tmp_name']);
$data .= "Content-Disposition: form-data; name="{$key}"; filename= "{$file['name']}"n";
$data .= "Content-Type: image/jpegn";
$data .= "Content-Transfer-Encoding: binarynn";
$data .= $fileContents."n";
$data .= "--$boundary--n";
}
$params = array('http' => array(
'メソッド' => 'POST',
'ヘッダー' => 'コンテンツタイプ: multipart/form-data;
'コンテンツ' =>
));
$ctx = stream_context_create($params);
$fp = fopen($url, 'rb', false, $ctx);
if (!$fp); 🎜>throw new Exception("$url, $php_errormsg の問題");
}
$response = @stream_get_contents($fp);
if ($response === false) {
throw new Exception("$url, $php_errormsg からのデータ読み取りエラー");
}
return $response;
//データを設定します (この例では post)
/ /サンプルデータ
$postdata = array(
'名前' => $_POST['名前'],
'年齢' => $_POST['年齢'],
'性別' => $_POST['sex']
);
$files['image'] = $_FILES['image']; //www.jb51.net", $postdata, $files);
?>






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