機能: テキストデータストリームの作成と返却、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);
?>
コードをコピー コードは次のとおりです:
$opts = array( 'http-->array(コードをコピー コードは次のとおりです:
$opts = array('http' => array('proxy' => 'tcp://127.0.0.1:8080', 'request_fulluri' => true)) ;コードは次のとおりです: 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);
?>