当前位置:Gxlcms > PHP教程 > 求解释这个函数是什么意思?

求解释这个函数是什么意思?

时间:2021-07-01 10:21:17 帮助过:2人阅读

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")) {					break;				}			}			$stop = false;			while(!feof($fp) && !$stop) {				$data = fread($fp, ($limit == 0 || $limit > 8192 ? 8192 : $limit));				$return .= $data;				if($limit) {					$limit -= strlen($data);					$stop = $limit <= 0;				}			}		}		@fclose($fp);		return $return;	}}


回复讨论(解决方案)

读取指定的 $url 的内容
比如:
echo uc_fopen('http://bbs.csdn.net/topics/390509098');

谢谢版主回复

人气教程排行