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

Zero零分 笔记 1,342 0 10个月前

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

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

微信小程序scroll-view下拉刷新,出现一直刷新

用scroll-view,主要原因是,可以在顶部固定一个模块,虽然position:fixed可以实现,但发现在真机上总会出现一条小白条,看着不是很舒服 scroll-view下拉刷新,需要用到几个属性:scroll-view官方说明 refresher-enabled:开启自定义下拉刷新 refresher-threshold:设置自定义下拉刷新阈值 refresher-default-style:设置自定义下拉刷新默认样式,支持设置 black | white | none, none 表示不使用默认样式 refresher-background:设置自定义下拉刷新区域背景颜色 refresher-triggered:设置当前下拉刷新状态,true 表示下拉刷新已经被触发,false 表示下拉刷新未被触发 主要是:refresher-triggered,当值为FALSE时,关闭刷新,默认值是FALSE,原先一直在设置复位:TRUE,所以一直刷新,改FALSE后,才解决 下拉刷新: bindrefresherrefresh: function (e) { let that = this; wx.showLoading({ title: '正在刷新...', mask: true, }) that.setData({ page: 1 }) that.GetData() }, 下拉刷新复位 bindrefresherrestore: function (e) { let that = this; that.setData({ refresher: false, }) }, 而开始一直设置refresher值为true!
笔记 ·

微信小程序scroll-view禁止滚动条

微信小程序禁用scroll-view滚动条 ::-webkit-scrollbar { display: none; } 其实也简单,就是这样一个CSS样式,关键是这个样式要放在哪里! 在写的时候,一直无法生效,翻看之前写的,也是一样的,但之前的可以生效! 认真翻看才发现,这个要在在app.wxss里,并不是写在页面上!如果怕兼容,可以全部都写上 ::-webkit-scrollbar { display:none; width: 0 !important; height: 0 !important; -webkit-appearance: none; background: transparent; color: transparent; } 以前就是因为全部都写上,在翻看时,一直都没有去翻app.wxss!
笔记 ·

微信小程序开发新版本检测、网络请求、json格式判断封装

微信小程序开发新版本检测、网络请求、json格式判断封装,放在APP.JS App({}) 里,方便各个页面调用 1、小程序新版本检测 if (wx.canIUse('getUpdateManager')) { const updateManager = wx.getUpdateManager() updateManager.onCheckForUpdate(function (res) { // 请求完新版本信息的回调 if (res.hasUpdate) { updateManager.onUpdateReady(function () { wx.showModal({ title: '更新提示', content: '新版本已经准备好,是否重启应用?', success: function (res) { if (res.confirm) { updateManager.applyUpdate() } } }) }) updateManager.onUpdateFailed(function () { // 新的版本下载失败 wx.showModal({ title: '已经有新版本了哟~', content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~' }) }) } }) } 2、网络数据请求 request: function (url, data = false, callback) { wx.request({ url: url, data: data, method: 'POST', header: { "Content-Type": "application/x-www-form-urlencoded" }, success: function (res) { if (res.statusCode != 200) { return callback && callback(false); } else { return callback && callback(res.data); } }, fail: function (res) { return callback && callback(false); } }) } 页面调用: app.request(url, false, (res) => {}) 3、JSON格式检测 isJson: function (string) { try { if (typeof JSON.parse(string) == 'object') { return true; }else{ return false; } } catch (e) { // console.log(e); return false; } }
笔记 ·

百度AI语音演示接口后获取的音频流处理

百度之前的演示接口是:type=tns&per=4100&spd=5&pit=5&vol=5&aue=6&tex=,直接get请求,在文章转语音时直接在后面加入文字就可以输出! 今天看了下,发现改了。改成了post请求,另外还会判断来源Referer。 也不知道是什么时候改版的!博客的文章语音输出全部失效。 用接口获取到的,也都是音频流。 PHP,用64位处理下解码,直接输出音频! 接口:https://plug.32xp.com/baidu/mp3/?txt=这里输入文字! 好像目前还没有过多的限制,目前还能获取到。接口暂时就用成熟女声!
笔记 ·

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 百度网盘下载)
笔记 ·
Zero零分
站龄15年资深站长
一个喜欢折腾,却又折腾不出像样东西的,不会PHP的PHP程序员!
476
文章
26
评论
27
分类
839
标签
7
友链
onlinelovesky 317355746 122551965@qq.com

百度广告