您好,欢迎访问一九零五行业门户网

求解释这个函数是什么意思?该如何处理

求解释这个函数是什么意思?
function uc_fopen($url, $limit = 0, $post = '', $cookie = '', $bysocket = false, $ip = '', $timeout = 15, $block = true) {
$return = '';
$matches = parse_url($url);
!isset($matches['host']) && $matches['host'] = '';
!isset($matches['path']) && $matches['path'] = '';
!isset($matches['query']) && $matches['query'] = '';
!isset($matches['port']) && $matches['port'] = '';
$host = $matches['host'];
$path = $matches['path'] ? $matches['path'].($matches['query'] ? '?'.$matches['query'] : '') : '/';
$port = !empty($matches['port']) ? $matches['port'] : 80;
if($post) {
$out = post $path http/1.0\r\n;
$out .= accept: */*\r\n;
//$out .= referer: $boardurl\r\n;
$out .= accept-language: zh-cn\r\n;
$out .= content-type: application/x-www-form-urlencoded\r\n;
$out .= user-agent: $_server[http_user_agent]\r\n;
$out .= host: $host\r\n;
$out .= 'content-length: '.strlen($post).\r\n;
$out .= connection: close\r\n;
$out .= cache-control: no-cache\r\n;
$out .= cookie: $cookie\r\n\r\n;
$out .= $post;
} else {
$out = get $path http/1.0\r\n;
$out .= accept: */*\r\n;
//$out .= referer: $boardurl\r\n;
$out .= accept-language: zh-cn\r\n;
$out .= user-agent: $_server[http_user_agent]\r\n;
$out .= host: $host\r\n;
$out .= connection: close\r\n;
$out .= cookie: $cookie\r\n\r\n;
}
if(function_exists('fsockopen')) {
$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
} elseif (function_exists('pfsockopen')) {
$fp = @pfsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
} else {
$fp = false;
}
if(!$fp) {
return '';
} else {
stream_set_blocking($fp, $block);// 让程序无阻塞
stream_set_timeout($fp, $timeout);
@fwrite($fp, $out);
$status = stream_get_meta_data($fp);//作用于读取流时的时间控制
if(!$status['timed_out']) {
while (!feof($fp)) {
if(($header = @fgets($fp)) && ($header == \r\n ||  $header == \n)) {

其它类似信息

推荐信息