> 백엔드 개발 > PHP 튜토리얼 > PHP는 로컬로 원격으로 사진을 다운로드합니다.

PHP는 로컬로 원격으로 사진을 다운로드합니다.

WBOY
풀어 주다: 2016-07-29 09:05:50
원래의
1080명이 탐색했습니다.

안녕하세요 여러분 오늘부터 블로그에 글을 쓰겠습니다. 제가 직장에서 겪은 문제에 대한 해결책을 나중에 찾아보고 다른 사람들에게 편의를 제공할 수 있도록 기록하겠습니다. 블로그에 글을 쓰는 것은 처음입니다. 부족한 점을 지적해 주세요. 감사합니다!

제가 오늘 기록할 내용은 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿