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来修改.前提是,你必须懂代码,才可以修改.