php 远程下载图片到本地
Jul 29, 2016 am 09:05 AM大家好,从今天开始,小弟开始写写博客,把自己在工作中碰到的问题的解决方法纪录下来,方便以后查找,也给予别人方便,小弟不才,第一次写博客,有什么不足之处请指出,谢谢!
今天纪录的是怎么通过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教程有兴趣的朋友有所帮助。

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah perbezaan antara Huawei GT3 Pro dan GT4?

Pengenalan fungsi PHP—get_headers(): Dapatkan maklumat pengepala respons URL

Mengapa NameResolutionError(self.host, self, e) daripada e dan cara menyelesaikannya

Bagaimana untuk mendapatkan ID Steam anda dalam beberapa langkah?

Cara menggunakan pengekodan dan penyahkodan URL dalam Java

Betulkan: Alat snipping tidak berfungsi dalam Windows 11

Petua pengoptimuman buruk: Cara mengurangkan rangkak URL pendua dan meningkatkan kecekapan
