程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php 打開讀取網頁方法

php 打開讀取網頁方法

編輯:關於PHP編程

fopen實現代碼:

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()函數返回的句柄。

編碼轉換函數
 代碼如下:

$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 www.zhutiai.com

with additional headers shown above */
$fp = fopen('http://www.baidu.com', 'r', false, $context);
fpassthru($fp);
fclose($fp);
?>


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved