PHP开发中批量捕获远程网页图片的实现方法
来源:爱站网时间:2020-10-27编辑:网友分享
PHP开发中我们会遇到很多问题,如果要远程获取别人的页面上的信息,而网站又被加密的时候,操作起来就有很大的难度了,今天爱站技术频道小编就和大家分享PHP开发中批量捕获远程网页图片的实现方法,一起进入下文学习吧!
PHP开发中我们会遇到很多问题,如果要远程获取别人的页面上的信息,而网站又被加密的时候,操作起来就有很大的难度了,今天爱站技术频道小编就和大家分享PHP开发中批量捕获远程网页图片的实现方法,一起进入下文学习吧!
但是作为一个热爱php的开发者来说,更多的是喜欢自己动手。所以,我就写出了下面的一个源码,php远程抓取图片小程序。可以读取css文件并抓取css代码中的背景图片,下面这段代码也是针对抓取css中图片而编写的。
array ( 'follow_location' => false // don't follow redirects ) ) ); //请确保php.ini中的fopen wrappers已经激活 readfile( $url,false,$context); $img = ob_get_contents(); ob_end_clean(); $fp2 = @fopen($filename,"a"); fwrite($fp2,$img); fclose($fp2); echo $filename." ok √
"; } ?>
然后没有意外的话,你会发现,你指定的文件夹下面已经满满的都是图片了,哈哈..
ps:php获取远程图片并下载保存到本地
分享一个利用php获取远程图片并将远程图片下载保存到本地的函数代码:
/* *功能:php完美实现下载远程图片保存到本地 *参数:文件url,保存文件目录,保存文件名称,使用的下载方式 *当保存文件名称为空时则使用远程文件原来的名称 */ function getImage($url,$save_dir='',$filename='',$type=0){ if(trim($url)==''){ return array('file_name'=>'','save_path'=>'','error'=>1); } if(trim($save_dir)==''){ $save_dir='./'; } if(trim($filename)==''){//保存文件名 $ext=strrchr($url,'.'); if($ext!='.gif'&&$ext!='.jpg'){ return array('file_name'=>'','save_path'=>'','error'=>3); } $filename=time().$ext; } if(0!==strrpos($save_dir,'/')){ $save_dir.='/'; } //创建保存目录 if(!file_exists($save_dir)&&!mkdir($save_dir,0777,true)){ return array('file_name'=>'','save_path'=>'','error'=>5); } //获取远程文件所采用的方法 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($save_dir.$filename,'a'); fwrite($fp2,$img); fclose($fp2); unset($img,$url); return array('file_name'=>$filename,'save_path'=>$save_dir.$filename,'error'=>0); }
以上是爱站技术频道小编介绍的PHP开发中批量捕获远程网页图片的实现方法,在这可以享受开发的快乐,你们也一起加入到我们的大家庭吧!