PHP下载远程文件及获取文件内容

/**
     * 获取远程文件的内容
     * @parma $url  URL
     * @return 获得内容
     * **/
    public static function getContent($url){
		$flag = 0;
		do {
			$hCurl = curl_init();
			curl_setopt($hCurl, CURLOPT_HEADER, 0);
			curl_setopt($hCurl, CURLOPT_RETURNTRANSFER, 1);
			curl_setopt($hCurl, CURLOPT_TIMEOUT, 120);
			curl_setopt($hCurl, CURLOPT_CONNECTTIMEOUT, 4);
			curl_setopt($hCurl, CURLOPT_URL, $url);
	
			$data = curl_exec($hCurl);
	
			if (curl_errno($hCurl)) {
				break;
			}
	
			$http_code = curl_getinfo($hCurl, CURLINFO_HTTP_CODE);
			if ($http_code >= 400) { //400 - 600 is server error
				break;
			}
			$flag = 1;
		} while (0);
		curl_close($hCurl);
	
		if ($flag) {
			return $data;
		} else {
			return false;
		}
	}
	/**
	 * 下载远程文件保存本地文件
	 * @parma $fileName 保存文件
	 * @parma $url  URL
     * @return 获得内容
	 * **/
	public static function getContentToFile($fileName, $url)
	{
		$out = fopen($fileName, ‘w‘);
		if (empty($out)) {
			return false;
		}
	
		$flag = 0;
		do {
			$hCurl = curl_init();
			curl_setopt($hCurl, CURLOPT_HEADER, 0);
			curl_setopt($hCurl, CURLOPT_RETURNTRANSFER, 1);
			curl_setopt($hCurl, CURLOPT_TIMEOUT, 120);
			curl_setopt($hCurl, CURLOPT_CONNECTTIMEOUT, 4);
			curl_setopt($hCurl, CURLOPT_FILE, $out);
			curl_setopt($hCurl, CURLOPT_URL, $url);
	
			$data = curl_exec($hCurl);
	
			if (curl_errno($hCurl)) {
				break;
			}
	
			$http_code = curl_getinfo($hCurl, CURLINFO_HTTP_CODE);
			if ($http_code >= 400) { //400 - 600 is server error
				break;
			}
			$flag = 1;
		} while (0);
	
		curl_close($hCurl);
		fclose($out);
	
		if ($flag) {
			return $data;
		} else {
			return false;
		}
	}


本文出自 “梦朝思夕” 博客,请务必保留此出处http://qiangmzsx.blog.51cto.com/2052549/1618903

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。