background image

PHP 源码:phpcms 模块开发之 swfupload 的使用

正式接触 phpcms 模块开发后.开发了几个功能模块.其中遇到了需要批量上传图片的问
题.于是开始挖掘 phpcms 里面的 swfupload 的用法.
在 phpcms 里面自带的内容类型里面能够直接指定图片组.不过这样的图片组功能并不是
我想用的.我需要上传一整个静态的 html 文件.需要
能够找到一个方法上传整个文件夹.并且能够保留原来的文件名称.
目的总结如下:
1,不改变系统的文件和目录结构.
2,实现多附件上传功能.
3,能够得到上传后的文件夹名称.
在 phpcms 中自带了附件上传的功能.我想去用 swfupload 功能,而这个功能被 phpcms
的附件上传功能集成进去了.那我要做的就是抽出来并加以修改.
第一步,我来研究研究这个是怎么调用的.
首先,打开 firefox 浏览器的 firebug 打开网络面板.找到 phpcm 中 swfupload 呗调出的
那个按钮.看看系统是请求的什么连接.
代码如下:

?
m=attachment&c=attachments&a=swfupload&args=10,,1&module=&catid=
&authkey=b756a93dea2e627293e88fa9d62af709&pc_hash=iXFbo1

我们捕捉到一串这样的请求.调用了 attachment 模块的 attachements 控制器里面的
swfupload 方法.
我们去找到这个模块中的这个控制器里面的这个方法.
在 phpcms/modoules/attachemet/attachemts.php 里面
打开看看,代码如下
代码如下:

public function swfupload(){
$grouplist = getcache('grouplist','member');
if(isset($_POST['dosubmit'])){
      //if 里面的内容我们暂时不看.因为这是上传之后的处理.我们要先找到是如
何引入 swfupload 的.
} else {
if($this->isadmin==0   &&   !$grouplist[$this->groupid]['allowattachment']) 
showmessage(L('att_no_permission'));
$args = $_GET['args'];//得到参数
$authkey = $_GET['authkey'];//得到密匙