首頁 >後端開發 >php教程 >PHP 簡單的小偷程式

PHP 簡單的小偷程式

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原創
2016-07-29 09:02:182054瀏覽

小偷程式:把遠端網站上的資料(圖片,網頁及其他文件)抓取到本地,處理後再顯示
正則表達式:用於字串的模式分割、匹配、查找及替換操作。

相關函數:

int ereg (   string $string [, array &$regs ] )若省略參數回傳的陣列,找出則傳回值為 True 否則 傳回 False與之對應 eregi() 不區分大小寫。
 

 

string file_get_contents 

 bool $use_include_path = false [, resource $context[,  0 [, int $maxlen ]]]]] )讀取整個文件,例如:用此函數可以取得網頁資訊他就是小偷程式的基礎。 例如:$url=file_get_contents("http://www.ubuntu.org.cn/index_kylin");echo? 但是對於另一個網站:

$url=file_get_contents("

http://www.alangzhong.com/index.html");

echo $url;

?

發現很多的背景圖片是看不見的。

查看網頁原始碼我們發現,這是

PHP 簡單的小偷程式

src="/upload/201503/bb1234350 "/>

圖片的地址使用了相對路徑,而我們本地沒有這樣的文件,當然顯示不出來。
PHP 简单的小偷程序用正規表示式選定圖片,然後遠端位址取代相對路徑:

下面程式碼的逾時問題沒有解決。

<?php
//ini_set(&#39;max_execution_time&#39;, &#39;0&#39;);   //三者都没用啊,一直超时
//@ini_set(&#39;default_socket_timeout&#39;, 20000);
//set_time_limit(2); 
$url=file_get_contents("http://www.alangzhong.com/index.html");
//echo $url;
$fp = @fopen($url, "r") or die("超时");  //为什么不断超时
$contents = file_get_contents($url);
eregi("<img width=\"116\" height=\"98\" src=\"/upload/201503/b123ec26-bb8f-43be-b5ad-cdf45153d053.png\"/>",$contents,$rg);
//  远程地址替换相对路径
$rg[1]=str_replace("src=\"../upload/","src=\"http://www.alangzhong.com/index.html/upload/",$rg[1]);

echo $rg[1];
?>

以上就介紹了PHP 簡單的小偷程序,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn