php 远程下载图片到本地

WBOY
发布: 2016-07-29 09:05:50
原创
1068 人浏览过

  大家好,从今天开始,小弟开始写写博客,把自己在工作中碰到的问题的解决方法纪录下来,方便以后查找,也给予别人方便,小弟不才,第一次写博客,有什么不足之处请指出,谢谢!

  今天纪录的是怎么通过PHP远程把图片下载到本地,废话不多说,上代码。

<?php <br />/*<br>*功能:php完美实现下载远程图片保存到本地<br>*参数:文件url,保存文件目录,保存文件名称,使用的下载方式<br>*当保存文件名称为空时则使用远程文件原来的名称<br>*/<br>function getImage($url,$save_dir='',$filename='',$type=0){<br>    if(trim($url)==''){<br>        return array('file_name'=>'','save_path'=>'','error'=>1);<br>    }<br>    if(trim($save_dir)==''){<br>        $save_dir='./';<br>    }<br>    if(trim($filename)==''){//保存文件名<br>        $ext=strrchr($url,'.');<br>        if($ext!='.gif'&&$ext!='.jpg'){<br>            return array('file_name'=>'','save_path'=>'','error'=>3);<br>        }<br>        $filename=time().$ext;<br>    }<br>    if(0!==strrpos($save_dir,'/')){<br>        $save_dir.='/';<br>    }<br>    //创建保存目录<br>    if(!file_exists($save_dir)&&!mkdir($save_dir,0777,true)){<br>        return array('file_name'=>'','save_path'=>'','error'=>5);<br>    }<br>    //获取远程文件所采用的方法<br>    if($type){<br>        $ch=curl_init();<br>        $timeout=5;<br>        curl_setopt($ch,CURLOPT_URL,$url);<br>        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);<br>        curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);<br>        $img=curl_exec($ch);<br>        curl_close($ch);<br>    }else{<br>        ob_start();<br>        readfile($url);<br>        $img=ob_get_contents();<br>        ob_end_clean();<br>    }<br>    //$size=strlen($img);<br>    //文件大小<br>    $fp2=@fopen($save_dir.$filename,'a');<br>    fwrite($fp2,$img);<br>    fclose($fp2);<br>    unset($img,$url);<br>    return array('file_name'=>$filename,'save_path'=>$save_dir.$filename,'error'=>0);<br>}<br>?><br>然后直接调用函数就可以把图片下载到本地
登录后复制
$img = getImage("$url","images/");
登录后复制

以上就介绍了php 远程下载图片到本地,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板