PHP下载远程图片到本地服务器

Zero零分 笔记 1,188 0 3个月前

最近在写一个东西,需要将远程的图片下载保存到本地服务器,测试了一段代码,已通过

function download($url, $save_dir = './______Images/upload/goods/',$filename=''){
$ext=strrchr($url,'.');
if(trim($save_dir)=='')
$save_dir='./';

if(trim($filename)==''){//保存文件名
$allowExt = array('gif', 'jpg', 'jpeg', 'png', 'bmp');
if(!in_array($ext,$allowExt))
return false;
// 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 false;
// return array('file_name'=>'','save_path'=>'','error'=>5);

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
$file = curl_exec($ch);
curl_close($ch);
$filename = $filename.$ext;
$resource = fopen($save_dir . $filename, 'a');
fwrite($resource, $file);
fclose($resource);
unset($file,$url);
return true;
// return array('file_name'=>$filename,'save_path'=>$save_dir.$filename,'error'=>0);
}

因为要先判断是否下载成功,return 都改成了false和true,可以自行设置路径及文件名

发布:2021-10-05 10:43:57
标签:
链接:https://blog.32xp.com/php-download-img.html
END

win7无法查看gif动画图解决插件Image_Viewer_for_Windows_7

win7,只能通过浏览器查看GIF动画图,很多时候不方便,如不想安装其他图片查看器的话,可以考虑安装Image_Viewer_for_Windows_7插件,直接查看GIF动图!似乎是从XP上移植过来的! 下载地址:(Image Viewer for Windows 7 百度网盘下载) 安装也很方便,直接运行,Next,Install就可以! 安装好之后,正常都可以直接双击GIF动图查看! 如还是无法运行,右键GIF动图–打开方式–选择“照片库查看器”,或者直接默认程序–选择“照片库查看器” 下载地址:(Image Viewer for Windows 7 百度网盘下载)
笔记 ·

win7 视频无法预览图片(文件夹内不显示略缩图)

win7所有视频格式都不显示缩略图的解决方法:安装视频解码器 下载一个解码器,比如Advanced Codecs、K-Lite_Codec_Pack等,以“K-Lite_Codec_Pack”为例,大家可以百度搜索一下,下载后在进行安装即可
笔记 ·

微信小程序解决上滑多次加载重复内容的问题

突然觉得,在小程序内,没有true和false解决不了的问题! 今天在写微信小程序的时候,下拉会出现多次加载的问题,而且内容还是一样。 因为通过手滑的时候,难免会滑多次!折腾了很久,才发现,一样可以用true和false来解决问题! 滚动是用scroll-view(view的原理一样) 1、在上滑的时候会触发一个加载数据的function,所以在触发加载数据function前加入一个判断!判断true是触发加载数据,否则不触发! 2、在加载数据的function中加入一个设置函数。加载开始时设置为false,当数据加载完后,重新设置为true。 这样,在数据加载时,就无法再次触发上滑加载,当数据加载完后,滚动条已经距离底部有一段距离了。 如果需要再次触发,还需要滚动到底部!  
笔记 ·

win10水星USB无线网卡创建移动热点,提示我们无法设置移动热点解决方案

今天刚拉了宽带,然而电信给的光纤猫竟然不带WiFi功能(记得之前拉的宽带,配的光纤猫带有WiFi的),之后折腾用无线网卡创建AP热点 系统:window10 企业版(别问为什么是企业版,我也不知道为什么要装企业版) 无线网卡:水星USB无线网卡 插上网卡,安装驱动,网卡可以成功的收到信号,利用win10系统自带的热点功能,创建热点,原本以为很顺利,发现一只无法创建 一直提示:我们无法设置移动热点 百度了一堆,竟然没有实质性的用处!有说什么设置20M的!能百度的全部都试过,全部都无法正常创建热点 想着,会不会是驱动的问题,因为这款水星的USB无线网卡很老的,试了一下更新驱动,再回来开启移动热点,竟然成功了!!!成功了!!! 剩下的就是上网的问题,win10自带移动热点,需要共享本地连接! 总结了一下:如果遇到无法创建热点,首先先试下更新驱动! 1、右键此电脑–管理–设备管理器–网络适配器–找到usb网卡驱动–右键–更新驱动程序–选择自动搜索–等更新完之后再重试设置移动热点 2、看下是否开启移动热点服务:右键此电脑–管理–服务与应用程序–服务–找到window移动热点服务–开启 3、上网问题,需要共享本地连接,右键以太网(本地连接,或者宽带)–属性–共享–选择热点连接 通过以上设置,基本上就可以正常的开启移动热点了!  
笔记 ·

phpstudy phpmyadmin访问慢的问题解决方案

本地配置phpStudy环境phpMyAdmin运行速度慢,phpstudy phpmyadmin访问慢的问题解决方案 在phpmyadmin目录下\phpStudy\PHPTutorial\WWW\phpMyAdmin\libraries找到config.default.php 打开config.default.php搜索host或者localhost或者$cfg[‘Servers’][$i][‘host’] 将:$cfg['Servers'][$i]['host'] = 'localhost'; 修改位:$cfg['Servers'][$i]['host'] = '127.0.0.1'; 另外,顺便将程序链接数据库的localhost改为127.0.0.1将会提高程序的运行速度
笔记 ·
Zero零分
站龄14年资深站长
一个喜欢折腾,却又折腾不出像样东西的,不会PHP的PHP程序员!
469
文章
26
评论
27
分类
827
标签
7
友链
onlinelovesky 317355746 122551965@qq.com