php保存網頁
給一個例子你看看吧.
if($pro_list_contents=@file_get_contents('http://www.phoenix-luxury.com/louis-vuitton-c-82.html'))
{
preg_match_all("/<td width=\"50%\" valign=\"top\">(.*)<td width=\"10\"><img src=\"images\/spacer.gif\"/isU", $pro_list_contents, $pro_list_contents_ary);
for($i=0; $i<count($pro_list_contents_ary[1]); $i++)
{
preg_match_all("/<a href=\"(.*)\"><img src=\"(.*)\".*<span>(.*)<\/span>/isU", $pro_list_contents_ary[1][$i], $url_img_price);
$url=addslashes($url_img_price[1][0]);
$img=str_replace(' ', '20%', trim('http://www.phoenix-luxury.com/'.$url_img_price[2][0]));
$price=(float)str_replace('$', '', $url_img_price[3][0]);
preg_match_all("/<a class=\"ml1\" href=\".*\">(.*)<\/a>/isU", $pro_list_contents_ary[1][$i], $proname_ary);
$proname=addslashes($proname_ary[1][0]);
include("inc/db_connections.php");
$rs=mysql_query("select * from pro where Url='$url' and CateId='{$cate_row['CateId']}'"); //是否已經採集了
if(mysql_num_rows($rs))
{
echo "跳過:{$url}<br>";
continue;
}
$basedir='/u_file/pro/img/'.date('H/');
$save_dir=Build_dir($basedir); //創建目錄函數
$ext_name = GetFileExtName( $img ); //取得圖片後輟名
$SaveName = date( 'mdHis' ) . rand( 10000, 99999 ) . '.' . $ext_name;
if( $get_file=@file_get_contents( $img ) )
{
$fp = @fopen( $save_dir . $SaveName, 'w' );
@fwrite( $fp, $get_file );
@fclose( $fp );
@chmod( $save_dir . $SaveName, 0777 );
@( $save_dir . $SaveName, $save_dir . 'small_'.$SaveName );
$imgpath=$basedir.'small_'.$SaveName;
}
else
{
$imgpath='';
}
if($pro_intro_contents=@file_get_contents($url))
{
preg_match_all("/<\/h1>(.*)<\/td><\/tr>/isU", $pro_intro_contents, $pro_intro_contents_ary);
$p_contents=addslashes(str_replace('src="', 'src="http://www.phoenix-luxury.com', $pro_intro_contents_ary[1][0]));
$p_contents=SaveRemoteImg($p_contents, '/u_file/pro/intro/'.date('H/')); //把遠程html代碼里的圖片保存到本地
}
$t=time();
mysql_query("insert into pro(CateId, ProName, PicPath_0, S_PicPath_0, Price_0, Contents, AddTime, Url) values('{$cate_row['CateId']}', '$proname', '$imgpath', '$img', '$price', '$p_contents', '$t', '$url')");
echo $url.$img.$cate."<br>\r\n";
}
}
B. php 把當前頁面另存為HTML格式。。
<?php
ob_start(); //打開緩沖區
echo "乎汪Oh, no no no!"; //html內容
$file = 'a.html';
$handle = fopen($file, 'w');
$ob = ob_get_contents(); //取得緩沖區內容
fwrite($handle, $ob); /空頃頃/保存HTML
fclose($handle);
ob_end_clean(); //清除緩沖區內容
?>斗陸
C. 請問php如何能根據url地址拷貝該網頁的所有內容+圖片並生成一個本地文件
復制+粘貼
針對你說的無法復制問題,是不是以下情況:
1、限制右鍵選中復制?
這個問題是因為網頁腳本中有禁止滑鼠右鍵動作的腳本,很好解決,換個瀏覽器(GreenBrowser - 綠色瀏覽器)就可以了,裡面有解除滑鼠右鍵禁止功能,這樣你想怎麼復制就怎麼復制。
2、你直接用滑鼠拖曳選中?
其實,可以用快捷鍵的方式來選中,復制的,如下:
把你所要發送的網頁打開,Ctrl+A一下(這是全體選中,包括網頁的全部以及滾動條以下的內容),再Ctrl+C復制。
然後再在你要編輯的信件中Ctrl+V粘貼,這樣就能把網頁中的內容全部都寫在郵件中,包括所有的圖片鏈接,其實等於是把這個網頁都搬進了信件里,別人要想查看內容還是以網頁的形式鏈接出去的。
選擇瀏覽器上方菜單「文件」另存為
保存在你制定的文件夾內
再打開你保存的文件夾
會發現裡面有兩個文件
一是**.html
一是**.files
D. 網站下載 php網頁下載
/*
*功能:php多種方式完美實現下載遠程圖片保存到本地
*參數:文件url,保存文件名稱,使用的下載方式
*當保存文件名稱為空時則使用遠程文件原來的名稱
*/
functiongetImage($url,$filename='',$type=0){
if($url==''){returnfalse;}
if($filename==''){
$ext=strrchr($url,'.');
if($ext!='.gif'&&$ext!='.jpg'){returnfalse;}
$filename=time().$ext;
}
//文件保存路徑
if($type){
$ch=curl_init();
$timeout=5;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$img=curl_exec($ch);
curl_close($ch);
}else{
ob_start();
readfile($url);
$img=ob_get_contents();
ob_end_clean();
}
$size=strlen($img);
//文件大小
$fp2=@fopen($filename,'a');
fwrite($fp2,$img);
fclose($fp2);
return$filename;
}
E. 在網頁上修改代碼後如何保存
保存為網頁格式就行了,靜態網頁保存為HTML,動態的根據採用的編寫語言的不同,最常有JSP,ASP.PHP,ASPX四種你可以在網頁點右鍵,選查看源文件.然後修改.
也可以用軟體dreamweaver8.0或是frontpage來修改.前提是,你必須懂代碼,才可以修改.