php 打开读取网页方法
php教程实现代码:
fopen() 函数打开文件或者 URL。
如果打开失败,本函数返回 FALSE。
代码如下:
<?php
$handle = fopen("http://www.example.com/", "rb");
$contents = "";
while (!feof($handle)) {
    $contents.= fread($handle, 8192);
}
fclose($handle);
?>代码如下:
<?php
// 对 PHP 5 及更高版本
$handle = fopen("http://www.example.com/", "rb");
$contents = stream_get_contents($handle);
fclose($handle);
?>| 参数 | 描述 | 
|---|---|
| filename | 必需。规定要打开的文件或 URL。 | 
| mode | 必需。规定要求到该文件/流的访问类型。可能的值见下表。 | 
| include_path | 可选。如果也需要在 include_path 中检索文件的话,可以将该参数设为 1 或 TRUE。 | 
| context | 可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。 | 
mode 参数的可能的值
| mode | 说明 | 
|---|---|
| "r" | 只读方式打开,将文件指针指向文件头。 | 
| "r+" | 读写方式打开,将文件指针指向文件头。 | 
| "w" | 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 | 
| "w+" | 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 | 
| "a" | 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 | 
| "a+" | 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 | 
| "x" | 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。 这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。 此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。  | 
| "x+" | 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。 这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。 此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。  | 
2.curl实现代码:
 代码如下:
<?php
function _url($Date) {
    $ch = curl_init();
    $timeout = 5;
    curl_setopt($ch, CURLOPT_URL, "$Date");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $contents = curl_exec($ch);
    curl_close($ch);
    return $contents;
}
$pageURL = "http://www.baidu.com";
$contents = _url($pageURL);
?>curl_close — 关闭一个curl会话
curl_copy_handle — 拷贝一个curl连接资源的所有内容和参数
curl_errno — 返回一个包含当前会话错误信息的数字编号
curl_error — 返回一个包含当前会话错误信息的字符串
curl_exec — 执行一个curl会话
curl_getinfo — 获取一个curl连接资源句柄的信息
curl_init — 初始化一个curl会话
curl_multi_add_handle — 向curl批处理会话中添加单独的curl句柄资源
curl_multi_close — 关闭一个批处理句柄资源
curl_multi_exec — 解析一个curl批处理句柄
curl_multi_getcontent — 返回获取的输出的文本流
curl_multi_info_read — 获取当前解析的curl的相关传输信息
curl_multi_init — 初始化一个curl批处理句柄资源
curl_multi_remove_handle — 移除curl批处理句柄资源中的某个句柄资源
curl_multi_select — Get all the sockets associated with the cURL extension, which can then be "selected"
curl_setopt_array — 以数组的形式为一个curl设置会话参数
curl_setopt — 为一个curl设置会话参数
curl_version — 获取curl相关的版本信息
curl_init()函数的作用初始化一个curl会话,curl_init()函数唯一的一个参数是可选的,表示一个url地址。
curl_exec()函数的作用是执行一个curl会话,唯一的参数是curl_init()函数返回的句柄。
curl_close()函数的作用是关闭一个curl会话,唯一的参数是curl_init()函数返回的句柄。
编码转换函数
<?php
$html = file_get_contents('http://mb.php100.com');
$html = iconv("Big5", "UTF-8//IGNORE", $html); //转化编码方式为UTF8
print $html;
$htm = file("http://s.jb51.net");
$h = "";
foreach ($htm as $value) {
    $h.= iconv("GB2312", "utf-8//IGNORE", $value);
}
print_r($h);
file_get_contents(path, include_path, context, start, max_length)
?>| 参数 | 描述 | 
|---|---|
| path | 必需。规定要读取的文件。 | 
| include_path | 可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。 | 
| context | 可选。规定文件句柄的环境。 context 是一套可以修改流的行为的选项。若使用 null,则忽略。  | 
| start | 可选。规定在文件中开始读取的位置。该参数是 PHP 5.1 新加的。 | 
| max_length | 可选。规定读取的字节数。该参数是 PHP 5.1 新加的。 | 
另一种打开网页的方法
 代码如下:
<?php
$opts = array(
    'http' => array(
        'method' => "GET",
        'header' => "Accept-language: enrn" . "Cookie: foo=barrn"
    )
);
$context = stream_context_create($opts);
/* Sends an http request to
 with additional headers shown above */
$fp = fopen('http://www.baidu.com', 'r', false, $context);
fpassthru($fp);
fclose($fp);
?>本文地址:http://www.phprm.com/frame/php1005214.html
转载随意,但请附上文章地址:-)