file_get_content的相反方法
Opposite method of file_get_content
您知道 PHP 中有一个名为 file_get_content 的方法可以获取所提供 url 的页面内容吗?有相反的方法吗?例如,file_post_content,您可以在哪里 post 将数据发送到外部网站?只是出于教育目的要求。
您可以在没有 cURL 的情况下使用,但是 file_get_contents
PHP 这个例子:
$url = 'URL';
$data = array('field1' => 'value', 'field2' => 'value');
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
var_dump($result);
查看 PHP 网站:http://php.net/manual/en/function.file-get-contents.php#102575
可以写一个:
<?php
function file_post_content($url, $data = array()){
// Collect URL. Optional Array of DATA ['name' => 'value']
// Return response from server or FALSE
if(empty($url)){
return false;
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
if(count($data)){
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
}
// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$svr_out = curl_exec ($ch);
curl_close ($ch);
return $svr_out;
}
?>
您知道 PHP 中有一个名为 file_get_content 的方法可以获取所提供 url 的页面内容吗?有相反的方法吗?例如,file_post_content,您可以在哪里 post 将数据发送到外部网站?只是出于教育目的要求。
您可以在没有 cURL 的情况下使用,但是 file_get_contents
PHP 这个例子:
$url = 'URL';
$data = array('field1' => 'value', 'field2' => 'value');
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
var_dump($result);
查看 PHP 网站:http://php.net/manual/en/function.file-get-contents.php#102575
可以写一个:
<?php
function file_post_content($url, $data = array()){
// Collect URL. Optional Array of DATA ['name' => 'value']
// Return response from server or FALSE
if(empty($url)){
return false;
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
if(count($data)){
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
}
// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$svr_out = curl_exec ($ch);
curl_close ($ch);
return $svr_out;
}
?>