仓酷云
标题:
PHP网页设计分享一个PHP收集近程图片
[打印本页]
作者:
不帅
时间:
2015-2-3 23:28
标题:
PHP网页设计分享一个PHP收集近程图片
学会了生成静态网页,现在你应该接触一下XML了,恩,XML也了解了,那么AJAX你也得接触接触吧?AJAX完了....然后...
<?php
/*利用PHP完成收集近程图片功效。根基流程:
1、获得方针网站图片地址。
2、读取图片内容。
3、创立要保留图片的途径并定名图片称号。
4、写入图片内容。
5、完成。
咱们经由过程写几个函数来完成这一进程。*/
//函数make_dir()创立目次。判别要保留的图片文件目次是不是存在,假如不存在则创立目次,而且将目次设置为可写权限。
function make_dir($path){
if(!file_exists($path)){//不存在则创立
$mk=@mkdir($path,0777); //权限
@chmod($path,0777);
}
return true;
}
//函数read_filetext()获得图片内容。利用fopen翻开图片文件,然后fread读取图片文件内容。
function read_filetext($filepath){
$filepath=trim($filepath);
$htmlfp=@fopen($filepath,"r");
//近程
if(strstr($filepath,"://")){
while($data=@fread($htmlfp,500000)){
$string.=$data;
}
}
//当地
else{
$string=@fread($htmlfp,@filesize($filepath));
}
@fclose($htmlfp);
return $string;
}
//函数write_filetext()写文件,将图片内容fputs写入文件中,即保留图片文件。
function write_filetext($filepath,$string){
//$string=stripSlashes($string);
$fp=@fopen($filepath,"w");
@fputs($fp,$string);
@fclose($fp);
}
//函数get_filename()获得图片称号,也能够自界说要保留的文件名。
function get_filename($filepath){
$fr=explode("/",$filepath);
$count=count($fr)-1;
return $fr[$count];
}
//然后将几个函数组合,在函数save_pic()中挪用,最初前往保留后的图片途径。
function save_pic($url,$savepath=''){
//处置地址
$url=trim($url);
$url=str_replace(" ","%20",$url);
//读文件
$string=read_filetext($url);
if(emptyempty($string)){
echo '读取不了文件';exit;
}
//文件名
$filename = get_filename($url);
//寄存目次
make_dir($savepath); //创立寄存目次
//文件地址
$filepath = $savepath.$filename;
//写文件
write_filetext($filepath,$string);
return $filepath;
}
//最初一步就是挪用save_pic()函数保留图片,咱们利用以下代码做测试。
//方针图片地址
//$pic = "/program/UploadPic/2013-5/2013510152511166.jpg";
// for($i=100; $i<=204; $i++)
// {
// $pic = 'http://cache.soso.com/img/img/e'.$i.'.gif';
////保留目次
// $savepath = "images/";
// echo save_pic($pic,$savepath)."<br />";
// }
/*
实践使用中,咱们能够会收集某个站点的内容,好比产物信息,包含收集防盗链的图片保留到网站上办事器上。这时候咱们可使用正则婚配页面内容,将页面中相婚配的图片都找出来,然后分离下载到网站办事器上,完成图片的收集。以下代码仅供测试:
*/
function get_pic($cont,$path){
$pattern_src = '/<[imgIMG].*?src=http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2013/0507/[/'/"](.*?(?:[/.gif/.jpg]))[\'\"].*?[\/]?>/';
$num = preg_match_all($pattern_src, $cont, $match_src);
$pic_arr = $match_src[1]; //取得图片数组
foreach ($pic_arr as $pic_item) { //轮回掏出每幅图的地址
save_pic($pic_item,$path); //下载并保留图片
echo "[OK]..!<br />";
}
}
//然后咱们经由过程剖析页面内容,将主体内容找出来,挪用get_pic()完成图片的保留。
//咱们收集宁靖洋电脑网上一篇关于手机报导内容页的图片 php100.com
$url = "http://gz.pconline.com.cn/321/3215791.html";
$content = file_get_contents($url);//获得网页内容
$preg = '#<div class="art_con">(.*)<div class="ivy620 ivy620Ex"></div>#iUs';
preg_match_all($preg, $content, $arr);
$cont = $arr[1][0];
get_pic($cont,'img/');
/*
以上代码笔者亲测,可以收集图片,然而还有些场景没思索出来,好比方针网站做了302屡次跳转的,方针网站做了多种防收集的,留给喜好折腾的同窗去尝尝吧。
*/
?>
怎样学习,大家都知道编程是1门很枯燥的事业,所以大家一定要有兴趣,可能刚开始打算学的时候是因为别人说php有多好,php多么流行,但是后来伴随着学习的深入,你的这些
作者:
小女巫
时间:
2015-2-3 23:30
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
作者:
再见西城
时间:
2015-2-7 18:00
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
作者:
愤怒的大鸟
时间:
2015-2-15 10:18
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年 具体的记不清啦,囧。
作者:
若天明
时间:
2015-2-18 12:27
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
作者:
小妖女
时间:
2015-2-25 23:20
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者:
山那边是海
时间:
2015-3-4 04:35
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
作者:
若相依
时间:
2015-3-11 16:44
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
作者:
飘灵儿
时间:
2015-3-15 15:01
基础有没有对学习php没有太大区别,关键是兴趣。
作者:
活着的死人
时间:
2015-3-22 01:29
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者:
仓酷云
时间:
2015-4-10 21:36
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者:
不帅
时间:
2015-4-10 23:08
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者:
简单生活
时间:
2015-4-15 13:22
写的比较杂,因为我也是个新手,不当至于大家多多指正。
作者:
再现理想
时间:
2015-4-16 13:35
写的比较杂,因为我也是个新手,不当至于大家多多指正。
作者:
柔情似水
时间:
2015-4-22 19:48
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者:
透明
时间:
2015-4-26 16:46
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
作者:
第二个灵魂
时间:
2015-4-29 17:18
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
作者:
分手快乐
时间:
2015-4-30 22:24
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox 支持的不是很好,所以能少用还是少用的好。
作者:
兰色精灵
时间:
2015-5-6 20:09
写的比较杂,因为我也是个新手,不当至于大家多多指正。
作者:
莫相离
时间:
2015-5-11 16:10
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2