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

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

零分 2,840

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

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

记一次宝塔MySQL无法启动的问题

去顺丰送快递之后,一直就没有管理打开网站,好像不去之前也没怎么更新 难得休息,打算更新下企业模板,发现无法打开。显示链接数据库失败。 进入宝塔后台,发现MySQL停止了运行。 第一时间启动MySQL,但是发现一直启动失败。 之后更新了下宝塔,更新了下MySQL,还是无法启动。 百度了一番,发现原来我是真的看不懂那些日志。 只好找些看得懂的来测试。 删除了两个文件 /www/server/data/ib_logfile0 /www/server/data/ib_logfile1 无法启动,注释了innodb_开头配置 #innodb_data_home_dir = /www/server/dat
笔记 1,257

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

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

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

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

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,380

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,262