当前位置:
  1. 首页 »
  2. 笔记 »
  3. 正文

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

零分 2,789

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

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,可以自行设置路径及文件名

网站设置开灯(亮模式/白天)和关灯(暗模式/黑夜)效果

在很早之前,这个效果叫做开灯/关灯,现在叫做白天/黑夜,曾经有那么一段时间没有看到过这种效果,现在又很多网站/APP都喜欢这种切换白天/黑夜模式。 实现效果:设置2套或者多套色调模板,和之前的那种换皮肤大差不差。所以博客新主题也设置了这么一个效果,样式布局基本没怎么改变,后台设置页升级了一下,很多东西都不再“写死”,可以自由设置! 白天模式效果: 黑夜模式效果: 感觉黑夜的色调比较好看。 总体涉及到的原理: 1、设计2套或者多套CSS样式,可以在body里添加一个class,后面保留class/ID样式名称不变,在不同的样式里给设计一个区域,通过body里的class名调用不同的样式CSS。
笔记 2,224

记一次网页源码顶部空白行的问题处理

正常来说,网页源码顶部如非UFT-8 bom编码的问题,基本不会影响网站的正常运行,但如php生成xml的话,就会出现问题。 因更换了主题(新主题暂时未上线,只是测试),发现xml无法正常显示,查看源码,顶部多出了一行空白行,本地运行正常。 查找原因,基本每个PHP问题都排查了,未发现任何问题,将主题上传到另外一个网站运行,发现正常。基本可以排除是主题的原因,剩下的可能是插件的问题。 查看了插件的源码,发现真的是插件的问题,PHP插件文件底部多出了几行,删除多出的行,重新运行,空白行不见了! 记录下,防止下次又因同样的原因而花时间去排查!
笔记 2,343

wordpress禁用REST API导致古腾堡编辑器发布文章出错问题

wordpress禁用REST API,在function.php中加入以下代码: add_filter("json_enabled", "__return_false"); add_filter("json_jsonp_enabled", "__return_false"); add_filter("rest_enabled", "__return_false"); add_filter("rest_jsonp_enabled", "__return_false"); remove_action("init", "rest_api_init"); remove_action("rest_ap
笔记 1,193

wordpress 后台主题设置选项按钮(button、input submit)点击屏蔽提交事件禁止刷新

wordpress 后台主题设置选项按钮(button、input submit)点击屏蔽提交事件禁止刷新 如果在设计主题或者插件后台设置选项时,wordpress后台的按钮(button、input submit)默认是提交操作,如只是响应JS事件,需要屏蔽提交,防止页面刷新。e.preventDefault(); 完整示例: $("button.copy").on("click",function(e){ e.preventDefault(); JS操作 });
笔记 1,071

pr2020(Adobe Premiere Pro 2020),运行时提示不支持的视频驱动

首先说下,PR2020是大神的破解版,运行的时候有登录账号,点击了试用(记得以前登录不需要点试用)不知道是否能正常持续试用。 电脑系统是windows 11,之前是Windows10,想提样下Windows11 就升级到了Windows11,因为可能是因为笔记本不支持TMP2.0,用了绕过的方法安装了Windows11,所以需要重新安装PR 在运行PR的时候,提示不支持的视频驱动,通过驱动总裁也无法解决,之前就一直不理会使用。 在官网上看到,支持Game Ready 驱动程序。 NVIDIA 已停止发布适用于旧版 GPU(9 系列及更低版本)的 Studio 驱动程序。但是,最新的 Game
笔记 1,909