網(wǎng)站建設(shè)公司-PHP如何下載遠(yuǎn)程圖片并保存到本地?
  • 更新時(shí)間:2024-12-28 11:55:52
  • 網(wǎng)站建設(shè)
  • 發(fā)布時(shí)間:1年前
  • 299

PHP自定義函數(shù),如何下載遠(yuǎn)程圖片并保存到本地?請(qǐng)看一下代碼

/*

*功能:php實(shí)現(xiàn)下載遠(yuǎn)程圖片并保存到本地

*參數(shù):文件url、保存文件目錄、保存文件名、使用的下載方式

*當(dāng)保存的文件名為空時(shí),將使用遠(yuǎn)程文件的原始名稱

*/

函數(shù)getImage($url, $save_dir='', $filename='', $type=0){

如果(修剪($url)==''){

返回?cái)?shù)組('file_name'='','save_path'='','error'=1);

}

如果(修剪($save_dir)==''){

$save_dir='./';

}

if(trim($filename)==''){//保存文件名

$ext=strrchr($url,'.');

如果($ext!='.gif' $ext!='.jpg' $ext!='.jpeg' $ext!='.jpg' $ext!='.GIF' $ext!='.JPEG' $ext!='.png'$ext!='.PNG'){

返回?cái)?shù)組('file_name'='','save_path'='','error'=3);

}

//$文件名=時(shí)間().$ext;

$arr=@explode('/',$url);

$cc=計(jì)數(shù)($arr);

$dd=$cc-1;

$文件名=$arr[$dd];

}

if(0!==strrpos($save_dir,'/')){

$save_dir.='/';

}

//創(chuàng)建保存目錄

如果(!file_exists($save_dir)!mkdir($save_dir,0777,true)){

返回?cái)?shù)組('file_name'='','save_path'='','error'=5);

}

//用于獲取遠(yuǎn)程文件的方法

如果($類型){

$ch=curl_init();

$超時(shí)=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);

}別的{

ob_start();

讀取文件($url);

$img=ob_get_contents();

ob_end_clean();

}

//$大小=strlen($img);

//文件大小

$fp2=@fopen($save_dir.$filename,'a');

fwrite($fp2,$img);

fclose($fp2);

取消設(shè)置($img,$url);

返回?cái)?shù)組('file_name'=$filename,'save_path'=$save_dir.$filename,'error'=0);

}

注意:需要提前創(chuàng)建文件夾

本文來(lái)源推來(lái)客:網(wǎng)站建設(shè)公司

我們專注高端建站,小程序開發(fā)、軟件系統(tǒng)定制開發(fā)、BUG修復(fù)、物聯(lián)網(wǎng)開發(fā)、各類API接口對(duì)接開發(fā)等。十余年開發(fā)經(jīng)驗(yàn),每一個(gè)項(xiàng)目承諾做到滿意為止,多一次對(duì)比,一定讓您多一份收獲!

本文章出于推來(lái)客官網(wǎng),轉(zhuǎn)載請(qǐng)表明原文地址:https://www.tlkjt.com/web/11557.html
推薦文章

在線客服

掃碼聯(lián)系客服

3985758

回到頂部