PHP 获取远程文件内容的函数代码

2015-01-24信息快讯网

PHP 获取远程文件内容的代码,后面有一些注释可以参考下,其实大家可以参考脚本之家发布的一些采集程序代码。

如下函数:
 
<? 
/** 
获取远程文件内容 
@param $url 文件http地址 
*/ 
function fopen_url($url) 
{ 
if (function_exists('file_get_contents')) { 
$file_content = @file_get_contents($url); 
} elseif (ini_get('allow_url_fopen') && ($file = @fopen($url, 'rb'))){ 
$i = 0; 
while (!feof($file) && $i++ < 1000) { 
$file_content .= strtolower(fread($file, 4096)); 
} 
fclose($file); 
} elseif (function_exists('curl_init')) { 
$curl_handle = curl_init(); 
curl_setopt($curl_handle, CURLOPT_URL, $url); 
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT,2); 
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER,1); 
curl_setopt($curl_handle, CURLOPT_FAILONERROR,1); 
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Trackback Spam Check'); //引用垃圾邮件检查 
$file_content = curl_exec($curl_handle); 
curl_close($curl_handle); 
} else { 
$file_content = ''; 
} 
return $file_content; 
} 
?> 

相关解释:
1,ini_get : Returns the value of the configuration option as a string on success, or an empty string on failure(读取 php.ini 配置文件中的值)
2,; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On(配置文件中的内容)
3,fopen( "rb"): 在操作二进制文件时如果没有指定 'b' 标记,可能会碰到一些奇怪的问题,包括坏掉的图片文件以及关于 \r\n 字符的奇怪问题。
注意: 为移植性考虑,强烈建议在用 fopen() 打开文件时总是使用 'b' 标记。
注意: 再一次,为移植性考虑,强烈建议你重写那些依赖于 't' 模式的代码使其使用正确的行结束符并改成 'b' 模式。
4,strtolower -- Make a string lowercase
5,curl_init() :curl_init -- Initialize a cURL session(初始化一个cUrl会话)
resource curl_init ( [string url] )
Initializes a new session and return a cURL handle for use with the curl_setopt(), curl_exec(), and curl_close() functions.
url--If provided, the CURLOPT_URL option will be set to its value. You can manually set this using the curl_setopt() function.
Returns a cURL handle on success, FALSE on errors.
6,curl_setopt -- Set an option for a cURL transfer(提供设置)
bool curl_setopt ( resource ch, int option, mixed value )
Sets an option on the given cURL session handle. (具体请看 PHP 手册) There:
CURLOPT_URL :The URL to fetch. You can also set this when initializing a session with curl_init().
CURLOPT_CONNECTTIMEOUT :The number of seconds to wait whilst trying to connect. Use 0 to wait indefinitely.(无限期等待 设置为 0)
CURLOPT_RETURNTRANSFER :TRUE to return the transfer as a string of the return value of curl_exec() instead of outputting it out directly.
CURLOPT_FAILONERROR :TRUE to fail silently if the HTTP code returned is greater than or equal to 400. The default behavior is to return the page normally, ignoring the code.
CURLOPT_USERAGENT :The contents of the "User-Agent: " header to be used in a HTTP request.
7,curl_exec : Perform a cURL session, This function should be called after you initialize a cURL session and all the options for the session are set.
如果成功则返回 TRUE,失败则返回 FALSE。 However, if the CURLOPT_RETURNTRANSFER option is set, it will return the result on success, FALSE on failure
8,curl_close -- Close a cURL session

下面是一些参考代码:
PHP 采集程序 常用函数
PHP 采集获取指定网址的内容
PHP header函数分析详解
php 文件上传类代码
php代码运行时间查看类代码分享
discuz程序的PHP加密函数原理分析
PHP源码之explode使用说明
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
用PHP实现的四则运算表达式计算实现代码
利用PHP实现智能文件类型检测的实现代码
PHP获取url的函数代码
php XPath对XML文件查找及修改实现代码
PHP文件上传后缀名与文件类型对照表整理
php编程实现获取excel文档内容的代码实例
PHP读取网页文件内容的实现代码(fopen,curl等)
PHP 获取远程网页内容的代码(fopen,curl已测)
vs中通过剪切板循环来循环粘贴不同内容
PHP删除特定数组内容并且重建数组索引的方法.
php中的观察者模式
PHP中基本符号及使用方法
PHP技术开发技巧分享
PHP初学者常见问题集合 修正版(21问答)
PHP5 字符串处理函数大全
用php或asp创建网页桌面快捷方式的代码
PHP提取数据库内容中的图片地址并循环输出
PHP5与MySQL数据库操作常用代码 收集
elgg 获取文件图标地址的方法
PHP 中文简繁互转代码 完美支持大陆、香港、台湾及新加坡
PHP 模拟$_PUT实现代码
PHP生成Flash动画的实现代码
PHP Memcached + APC + 文件缓存封装实现代码
PHP 创建文件(文件夹)以及目录操作代码
PHP 引用文件技巧
php 读取shell管道传输过来的内容
php下使用SimpleXML 处理XML 文件
Search File Contents PHP 搜索目录文本内容的代码
PHP 批量更新网页内容实现代码
PHP 采集获取指定网址的内容
©2014-2024 dbsqp.com