开发者社区> 问答> 正文

discuz的阿里oss附件云储存接口源码分享

不清楚是我个人配置问题,还是历史原因,官方提供的阿里云oss接口已经无法使用。这里我修改了一下官方sdk,目前测试上传、删除接口无误。

  1. 核心源文件基于阿里云oss官方sdk :github地址:https://github.com/aliyun/aliyun-oss-php-sdk
  2. discuz框修改基于discuz官方团队开发的下面框架和扩展:
说明:要求环境> =php5.3


为毛要修改文件,达到支持扩展?
1、dz的上传机制问题,dz功能太多了,帖子有附件、图片,日志、相册、门户文章、群组发帖等等。
2、dz的插件嵌入点机制问题。dz的插件模式是嵌入点机制,也就是天生基因决定dz插件很难直接修改底层的核心类库。导致插件如果你要做oss的上传,那么插件如果是基于嵌入点机制,这么多上传的地方,插件要开发多少才支持????
3、图片缩略、水印机制等,这些dz内置通过图片操作库处理,而oss是其自带的图片处理机制。


本扩展解决办法:
dz官方开发的版本,只能通过扩展框架来支持:  
方案一:具体方法你可以用dz官方提供的框架,基于oss的sdk1版本: http://www.discuz.net/thread-3399569-1-1.html  
方案二:由于官方框架似乎有很多地方已经不支持了,我这边自己根据官方框架修改了一种,基于阿里云最新版本oss的sdk2.*改的一种方案: http://www.playzhan.com/p/1434 实际上原理: 首先附件还是经过dz上传到服务器的,但是由于修改了核心ftp上传类库,那么在上传经过图片缩略、水印处理后,会通过ftp核心类库上传到远程服务器。由于我们修改了核心ftp类库,因此这个图片会被上传到阿里的oss。酱紫可以完全支持所有图片的附件上传了。


下面是我做的一个全部增量包。适合discuz3.2-gbk版本,比较完美整合阿里云oss和discuz,目前测试上传、删除、显示都没有问题,直接覆盖到网址根目录即可。




原文地址: http://www.playzhan.com/p/1434

展开
收起
玩站网 2016-05-10 23:20:43 11154 0
5 条回答
写回答
取消 提交回答
  • Rediscuz的阿里oss附件云储存接口源码分享
    Oops! System file lost: class/class_ossclient.php




    大师,请问这个是什么情况啊?谢谢指教啊
    2016-12-16 18:32:42
    赞同 展开评论 打赏
  • Rediscuz的阿里oss附件云储存接口源码分享
    感谢您的分享!
    2016-05-25 20:36:42
    赞同 展开评论 打赏
  • 头像不支持。头像那么小,要不了几个图。另外调用头像也不是dz附件机制,而是uc的调用
    2016-05-24 18:10:06
    赞同 展开评论 打赏
  • 论坛总版主
    这个要支持了。。。。头像也可以上传?
    2016-05-11 09:37:14
    赞同 展开评论 打赏
  • 码农|Coder| Pythonista
    感谢您的分享!
    2016-05-11 07:53:24
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载