Subversion Repositories php-qbpwcf

Rev

Blame | Last modification | View Log | RSS feed

<?php

#指派命名空間
namespace qbpwcf;

#匯入外部套件
include("../allInOne.php");

#提示目前正在測試的部分
echo"<hr>catchWebContent::wget - testCase 1<p>";

/*

#涵式說明:
#設定檢視該網頁時預設的編碼
#必填的參數:
#$conf["encodingName"]="big5";#為網頁顯示的編碼的名稱.
        #例如:"utf-8","big5"
#header::htmlEncoding($conf);
#unset($conf);

#涵式說明:
#抓取的特定網頁的某段內容
#回傳的結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["error"],錯誤訊息陣列.
#$result["webContent"]["lineCount"],爲總共有機行原始碼。
#$result["webContent"]["full"],爲抓取的全部網頁程式碼
#$result["webContent"][i],爲第i+1行的程式碼
#必填的參數:
$conf["loadingPotision"]="http://www.nmp.gov.tw/news/list.php";#要抓取的網頁網址
#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑.
$conf["fileArgu"]=__FILE__;
#可省略的參數:
#$conf["startLineNum"]="233";#從第幾行開始擷取,預設爲從第1行(第0個元素)。
#$conf["endLineNum"]="273";#到第幾行結束截取,預設爲從最後一行(最後一個元素)。
#$conf["processString"]="true";#爲是否要變更特定字串內容,預設爲false,不做變更,若設爲"true"則爲要進行處理字串的功能。
#$conf["selectedCharacter"]=array("width='90%'","width='80%'","width='20%'","nmpnews.php?","<a","border='0'");#爲被選擇要處理的字串/字元,須爲陣列值。
        #若不設定則預設爲要將這些字串作替換(" ","href","iframe","<",">","<a","/>",";","/","=","#",".","'","$","%","&","|")。
#$conf["changeTo"]=array("","","","http://www.nmp.gov.tw/nmpnews.php?","<a target = _blank ","border=1px");#爲被選擇的字元要換成什麼字串/字元,須爲陣列值。若不設定,則預設爲更換成""(空字串)。  
#$conf["changeCharSet"],字元陣列,轉換全文編碼,預設不使用,$conf["changeCharSet"][0]為原始編碼,$conf["changeCharSet"][0]為新的編碼.
#$conf["changeCharSet"]=array("big5","utf-8");
$wget=catchWebContent::wget($conf);
unset($conf);

var_dump($wget);

*/

#提示目前正在測試的部分
echo"<hr>catchWebContent::wget - testCase 2<p>";

/*

#涵式說明:
#抓取的特定網頁的某段內容
#回傳的結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["error"],錯誤訊息陣列.
#$result["function"],函數名稱.
#$result["oriWebContent"]["full"],原始檔案的完整內容.
#$result["oriWebContent"]["byLine"],用陣列儲存的原始檔案逐行內容.
#$result["oriWebContent"]["lineCount"],原始檔案的總共行數.
#$result["webContent"]["lineCount"],爲總共有機行原始碼。
#$result["webContent"]["full"],為檔案的完整內容,爲抓取的全部網頁程式碼
#$result["webContent"][i],爲第i+1行的程式碼
#必填的參數:
$conf["loadingPotision"]="https://tw.yahoo.com/";#要抓取的網頁網址
#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑.
$conf["fileArgu"]=__FILE__;
#可省略的參數:
#$conf["startLineNum"]="";#從第幾行開始擷取,預設爲從第1行(第0個元素)。
#$conf["endLineNum"]="";#到第幾行結束截取,預設爲從最後一行(最後一個元素)。
#$conf["processString"]="";#爲是否要變更特定字串內容,預設爲false,不做變更,若設爲"true"則爲要進行處理字串的功能。
#$conf["selectedCharacter"]=array("");#爲被選擇要處理的字串/字元,須爲陣列值。
        #若不設定則預設爲要將這些字串作替換(" ","href","iframe","<",">","<a","/>",";","/","=","#",".","'","$","%","&","|")。
#$conf["changeTo"]="";#爲被選擇的字元要換成什麼字串/字元,須爲陣列值。若不設定,則預設爲更換成""(空字串)。       
var_dump(catchWebContent::wget($conf));
unset($conf);

*/

#提示目前正在測試的部分
echo"<hr>catchWebContent::toHtml - testCase 1<p>";

/*

#函數說明:
#將特定網址的網頁內容儲存成html檔案
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["error"],錯誤訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["html"],取得的網頁檔位置.
#必填參數:
#$conf["saveLocation"],字串,下載好的網頁要儲存到哪邊
$conf["saveLocation"]="catchWebContentT/catchWebContent::toHtml";
#$conf["webPageLocation"],字串,要下載的網頁目錄位置與檔案名稱.ex:「function/about.php」
$conf["webPageLocation"]="~qbpwcf/"; 
#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑.
$conf["fileArgu"]=__FILE__;
#可省略參數:
#$conf["type"],字串,網頁的協定,預設為"http",可以用的還有"https".
$conf["type"]="https";
#$conf["webHostAddressOrDNS"],字串,網頁所處的IP或DNS,預設為"127.0.0.1".
$conf["webHostAddressOrDNS"]="127.0.0.1";
#$conf["port"],字串,要使用的port,預設"80",一般來說http為80,https為443.
$conf["port"]="443";
var_dump(catchWebContent::toHtml($conf));
unset($conf);

*/

#提示目前正在測試的部分
echo"<hr>catchWebContent::getFullWeb - testCase 1<p>";

/*

#涵式說明:
#抓取的特定網頁的某段內容
#回傳的結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["error"],錯誤訊息陣列.
#$result["function"],函數名稱.
#$result["webContent"]["lineCount"],爲總共有機行原始碼。
#$result["webContent"]["full"],爲抓取的全部網頁程式碼
#$result["webContent"][i],爲第i+1行的程式碼
#必填的參數:
#$conf["loadingPotision"],字串,要抓取的網頁網址 
$conf["loadingPotision"]="https://start.fedoraproject.org/";#要抓取的網頁網址
#可省略的參數:
#$conf["startLineNum"],從第幾行開始擷取,預設爲從第1行(第0個元素)。
#$conf["startLineNum"]="";
#$conf["endLineNum"],到第幾行結束截取,預設爲從最後一行(最後一個元素)。
#$conf["endLineNum"]="";
#$conf["processString"],爲是否要變更特定字串內容,預設爲false,不做變更,若設爲"true"則爲要進行處理字串的功能。
#$conf["processString"]="";
#$conf["selectedCharacter"],d爲被選擇要處理的字串/字元,須爲陣列值。
#$conf["selectedCharacter"]=array("");
        #若不設定則預設爲要將這些字串作替換(" ","href","iframe","<",">","<a","/>",";","/","=","#",".","'","$","%","&","|")。
#$conf["changeTo"],爲被選擇的字元要換成什麼字串/字元,須爲陣列值。若不設定,則預設爲更換成""(空字串)。   
#$conf["changeTo"]=array("");
#$conf["changeCharSet"],字元陣列,轉換全文編碼,預設不使用,$conf["changeCharSet"][0]為原始編碼,$conf["changeCharSet"][0]為新的編碼.
#$conf["changeCharSet"]=array("big5","utf-8");
#備註:
#$conf["changeCharSet"]參數沒有效果.
#有些網站會無法透過此方法取得網站內容.
#參考資料來源:
#iconv用法 => http://php.net/manual/en/function.iconv.php
var_dump(catchWebContent::getFullWeb($conf));
unset($conf);

*/
        
#說明要測試的案例
echo"<hr>catchWebContent::nativeMulti - testCase 1<br>";

/*

#函數說明:
#php內建的curl方法 
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["error"],錯誤訊息.
#$result["function"],當前執行的函數名稱.
#$result["content"][$i]["info"],第$i+1個要求的回應資訊.
#$result["content"][$i]["res"],第$i+1個要求的回應.
#必填參數:
#$conf["url"],字串陣列,有哪些網址要拜訪.
$conf["url"]=array("https://tw.yahoo.com","https://www.google.com.tw","https://start.fedoraproject.org/","https://127.0.0.1/~qbpwcf");
#可省略的參數:
#$conf["opts"],一維字串陣列,要設定的curl連線參數,元素的key為參數的名稱,切記要為long形態(沒有""框住的文字),元素的value為參數的數值內容.
#$conf["opts"];
#參考資料:
#curl_multi_ini(多執行緒執行curl)=>http://php.net/manual/en/function.curl-multi-init.php
#備註:
#建構中...
$native=catchWebContent::nativeMulti($conf);
unset($conf);
 
#如果執行失敗
if($native["status"]==="false"){
        
        #印出訊息
        var_dump($native);
        
        #終止程式
        exit;
        
        }#if end 
        
#印出取得的資訊
var_dump($native);
 
*/

/*

#說明要測試的案例
echo"<hr>catchWebContent::curlCmd - testCase 1<br>";

#函式說明:
#運行curl cmd
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["error"],錯誤訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["content"],取得的回應內容.
#必填參數:
#$conf["url"],字串,目標url.
$conf["url"]="https://www.google.com";
#$conf["fileArgu"],字串,變數__FILE__的內容.
$conf["fileArgu"]=__FILE__;
#可省略參數:
#$conf["header"],字串陣列,要傳送的header.
$conf["header"]=array("lib:qbpwcf");
#$conf["allowAnySSLcertificate"],字串,是否允許不可信任的SSL憑證.
#$conf["allowAnySSLcertificate"]="";
#$conf["postVar"],字串陣列,每個要傳送的post變數名稱(陣列的key值)與數值.
$conf["postVar"]=array("a"=>"b","c"=>"d");
#備註:
#僅能在命令列下執行.
$curlCmd=catchWebContent::curlCmd($conf);
unset($conf);

#如果執行失敗
if($curlCmd["status"]==="false"){
        
        #印出訊息
        var_dump($curlCmd);
        
        #終止程式
        exit;
        
        }#if end

#印出結果
var_dump($curlCmd);

*/

?>