XiunoBBS 七牛上传插件

   这几天抽着闲暇时间搞了一个bbs,刚开始本来想用discuz,无奈界面太丑,漏洞也多,之前在gitee上发现过一个不错对的开源轻论坛框架xiunobbs,就拿它来搞了。二次开发过程中有一个需求,我想把附件传到七牛,不保存在服务器上,这样能节省服务器带宽,xiuno插件市场提供了一个免费插件,但是可能跟版本相关,已经不能用了,所以就自己弄了一个,今天就免费分享给大家。

安装方式是首先把插件adam_qiniu拖放到plugins文件夹下,然后登陆xiuno后台插件,本地插件,安装即可,在设置里面设置上七牛云的ak,sk,附件上传地址,bucket即可。

白俊遥博客

安装后上传的附件,不会再保存在upload目录下,上传到七牛后,会自动删除本地文件,这里有一个问题,附件下载的时候会寻找本地文件,没有的话会报attach_not_exist错误,然而本地附件已经被删除了,所以这里需要屏蔽到这块逻辑,在route/attach.php文件下大概131行,备注掉如下代码 :

//!is_file($attachpath)AND message(-1, lang('attach_not_exists'));

在model/attach.func.php文件插入 

// hook attach_assoc_post_middle.php

源码上下文这样:

// 插入后,进行关联
$aid = attach_create($arr);
         // hook attach_assoc_post_middle.php
$post['message'] = str_replace($file['url'], $desturl, $post['message']);
$post['message_fmt'] = str_replace($file['url'], $desturl, $post['message_fmt']);


本来想用hook方式解决这个问题,但是由于本人对框架还不是很熟悉,没有找到好的hook方式。

总结一下安装和配置步骤:

  1. 安装adam_qiniu

  2. 配置ak,sk,上传url,bucket

  3. 备注掉 route/attach.php 131行代码 

  4. model/attach.func.php 234行插入  // hook attach_assoc_post_middle.php 



如果想恢复本地存储,卸载插件,然后取消上面备注掉的代码即可

下载地址:


https://github.com/adamin1990/adam_qiniu


https://gitee.com/adamin/adam_qiniu



PS:关于安装插件后无法卸载问题,取消备注 view/js/bbs.js第124行  

//window.location = jthis.attr('href');



Adam博客
请先登录后发表评论
  • 最新评论
  • 总共4条评论
Adam博客

阿良良木历894:大佬 能帮我看一下这个问题吗?https://bbs.xiuno.com/thread-150637.htm

2019-04-09 14:21:14 回复

Adam博客

李聪17602338334:可以了!!但是删除帖子,七牛云里没有跟着删除!这个能解决吗?

2019-03-27 05:11:18 回复

Adam博客
  • Adam 回复 李聪17602338334:嗯嗯 这块还没做,等我抽时间加一下这个
  • 2019-03-27 09:23:44 回复
Adam博客
  • 李聪17602338334 回复 Adam:敬候佳音Adamin90博客
  • 2019-03-27 19:04:36 回复
Adam博客

李聪17602338334:配置好了,也没有生效!!!!

2019-03-26 07:05:33 回复

Adam博客
  • Adam 回复 李聪17602338334:加下我qq给你看下 
  • 2019-03-26 09:24:46 回复
Adam博客
  • Adam 回复 李聪17602338334:博客加了第四步配置操作,抱歉,之前忽略了,还有现在发布了1.1版本,顺便更新一下就可以了,模块开启后图片,头像,附件下载都会走七牛,注意一下,之前上传的文件要重新传一下
  • 2019-03-26 15:00:54 回复
Adam博客
  • 李聪17602338334 回复 Adam:感谢 大佬!Adamin90博客
  • 2019-03-27 00:09:14 回复
Adam博客
  • 李聪17602338334 回复 李聪17602338334:七牛云里有文件了,但是帖子里显示不出来!怎么回事啊?
  • 2019-03-27 05:03:11 回复
Adam博客
  • 李聪17602338334 回复 李聪17602338334:按照你的步骤把代码注释掉了,在model/attach.func.php文件也插入 了  ,就是帖子里不显示!
  • 2019-03-27 05:04:54 回复
Adam博客

用户7005537656:楼主,配置好了,怎么没有生效呢,就是测试上传个附件,七牛云里没有这个文件

2019-03-23 15:05:58 回复

Adam博客
  • Adam 回复 用户7005537656:你用的那个版本的xiuno呢,我这4.0.4没问题呢,其他版本我没有试 ak sk bucket url都配置对了嘛
  • 2019-03-25 09:32:27 回复
Adam博客
  • 李聪17602338334 回复 AdamAdamin90博客我这里也不行
  • 2019-03-26 07:05:05 回复
Adam博客
  • 用户7005537656 回复 Adam:都配置对了,确实不行,楼主QQ多少加你下,
  • 2019-03-26 08:50:26 回复
Adam博客
  • 用户7005537656 回复 Adam:我也是4.0.4的
  • 2019-03-26 08:50:40 回复
Adam博客
  • Adam 回复 用户7005537656:14846869
  • 2019-03-26 09:24:22 回复