Heim  >  Artikel  >  Backend-Entwicklung  >  So erhalten Sie Remote-Downloads von Bildern und speichern diese lokal in PHP

So erhalten Sie Remote-Downloads von Bildern und speichern diese lokal in PHP

小云云
小云云Original
2017-11-27 09:33:032629Durchsuche

Teilen Sie einen Funktionscode, der PHP verwendet, um Remote-Bilder abzurufen und Remote-Bilder herunterzuladen und lokal zu speichern. Ich hoffe, dieser kleine Trick kann nützlich sein.

/*
*功能: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);
}

Mit dem obigen Code erfahren Sie, wie Sie Remote-Bilder in PHP abrufen und lokal herunterladen und speichern. Ich hoffe, dass er für alle nützlich ist.

Verwandte Empfehlungen:

HP implementiert eine effiziente Methode, um die Größe und Größe von Remote-Images zu ermitteln

Entwicklungsbeispiel für das Herunterladen von PHP aus der Ferne Bilder zur lokalen Freigabe

php, um entfernte Bilder herunterzuladen und lokal zu speichern

Das obige ist der detaillierte Inhalt vonSo erhalten Sie Remote-Downloads von Bildern und speichern diese lokal in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn