INSIGHTS & SHARING / 观点与分享

网站建设公司-PHP如何下载远程图片并保存到本地?

网站建设 阅读 727

PHP自定义函数,如何下载远程图片并保存到本地?请看一下代码

/*

*功能:php实现下载远程图片并保存到本地

*参数:文件url、保存文件目录、保存文件名、使用的下载方式

*当保存的文件名为空时,将使用远程文件的原始名称

*/

函数getImage($url, $save_dir='', $filename='', $type=0){

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

返回数组('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'){

返回数组('file_name'='','save_path'='','error'=3);

}

//$文件名=时间().$ext;

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

$cc=计数($arr);

$dd=$cc-1;

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

}

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

$save_dir.='/';

}

//创建保存目录

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

返回数组('file_name'='','save_path'='','error'=5);

}

//用于获取远程文件的方法

如果($类型){

$ch=curl_init();

$超时=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);

取消设置($img,$url);

返回数组('file_name'=$filename,'save_path'=$save_dir.$filename,'error'=0);

}

注意:需要提前创建文件夹

本文来源推来客:网站建设公司

本文来自推来客官网,转载请注明原文地址:
https://www.99hyw.cn/web/11557.html

NINE REASONS TO CHOOSE US

选择推来客,九大优势

从开发效果到后续服务,
把每一份信任,落到实处。

01 / 效果

效果做到满意为止

认真打磨每一个细节,用实际效果回应您的期待。

02 / 价值

高性价比

让投入回到业务价值,兼顾品质、功能与开发成本。

03 / 技术

专业技术团队

理解业务需求,以专业技术推进项目落地。

04 / 经验

10年+运营经验

长期深耕开发与运营,让经验成为项目的底气。

05 / 积累

成品项目多

丰富的项目积累,为不同场景提供更多成熟参考。

06 / 费用

无任何增加费用

费用明晰透明,合作过程清楚放心。

07 / 口碑

行业良好的口碑

用交付与服务积累认可,珍惜每一次客户推荐。

08 / 售后

完善的售后机制

项目交付后持续提供服务,让系统使用更安心。

09 / 交付

源码交付,自主掌握

项目源码完整交付,后续维护与迭代自主掌握。

我们的服务

软件系统开发

围绕业务流程,提供软件系统设计与开发服务。

小程序开发

结合使用场景,提供小程序设计与功能开发服务。

高端网站建设

结合品牌展示与业务需求,提供网站设计与建设服务。

物联网 / API 对接

连接设备与业务系统,提供接口集成与数据对接服务。

SELECTED WORK

推荐案例,让想法落地

更多项目案例

在线客服

扫码联系客服

3985758

回到顶部