使用PHP读取远程文件的四种方法
2013-08-09 12:54
736 查看
转自:http://www.qiandabao.com/wdgz/47.html
使用PHP读取远程文件的四种方法
1 fopen()
2 file_get_contents()
3 curl
4 socket
fopen()和file_get_contents()需要在php.ini配置文件中设置allow_url_open = on
fopen():
file_get_contents():
Curl:
Socket:
使用PHP读取远程文件的四种方法
1 fopen()
2 file_get_contents()
3 curl
4 socket
fopen()和file_get_contents()需要在php.ini配置文件中设置allow_url_open = on
fopen():
$handle = fopen("http://www.example.com/", "rb"); $contents = ""; while (!feof($handle)) { $contents .= fread($handle, 8192); } fclose($handle);
file_get_contents():
$contents = file_get_contents("http://www.example.com/");
Curl:
if (function_exists('curl_init')) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://www.example.com'); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1;)'); $contents = curl_exec($ch); curl_close($ch); }
Socket:
function getRemoteFile($url) { $parsedUrl = parse_url($url); $host = $parsedUrl['host']; if (isset($parsedUrl['path'])) { $path = $parsedUrl['path']; } else { $path = '/'; } if (isset($parsedUrl['query'])) { $path .= '?'.$parsedUrl['query']; } if (isset($parsedUrl['port'])) { $port = $parsedUrl['port']; } else { $port = 80; } $timout = 10; $response = ''; $fp = @fsockopen($host, $port, $errno, $errstr, $timout); if (!$fp) { echo "Connect to $url failed"; } else { fputs($fp, "Get $path HTTP/1.0\r\n". "Host: $host\r\n". "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1;) \r\n". "Accept:*/*\r\n". "Accept-Language: zh-CN, zh;q=0.5\r\n". "Accept-Charset: GB-2312, utf-8;q=0.7,*'q=0.7\r\n". "Keep_Alive: 300\r\n". "Connection: keep-alive\r\n". "Referer: http://$url\r\n\r\n"); while ($line = fread($fp, 4096)) { $response .= $line; } fclose($fp); $pos = strpos($response, "\r\n\r\n"); $response = substr($response, $pos +4); } return $response; }
相关文章推荐
- PHP读取远程文件的三种方法
- Objective-C之foundation框架中的NSString的使用方法、指针基本用法、读取本地和远程文件
- PHP使用get_headers函数判断远程文件是否存在的方法
- PHP之读取远程文件的三种方法
- php使用fgetcsv读取csv文件出现乱码的解决方法
- php 使用file_get_contents读取大文件的方法
- PHP读取远程文件的三种方法
- php使用fgetcsv读取csv文件出现乱码的解决方法
- PHP读取远程文件的4种方法
- PHP读取远程文件的三种方法
- PHP读取远程文件的三种方法
- 使用PHP读取远程文件
- php使用ftp远程上传文件类(解决主从文件同步问题的简单方法)
- php 使用file_get_contents读取大文件的方法
- PHP使用get_headers函数判断远程文件是否存在的方法
- php使用fsockopen方法代理读取远程网页
- php使用fsockopen方法代理读取远程网页
- php使用fgetcsv读取csv文件出现乱码的解决方法
- php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
- PHP 读取 大文件 解决方法