开启左侧

使用家园相册flash进行批量上传功能的分析

[复制链接]
发表于 2012-3-23 23:48:50 | 显示全部楼层 |阅读模式
http://att.discuz.net/data/attachment/forum/201109/30/084409ut7fr23la3ifcbj2.png%20file=http://att.discuz.net/data/attachment/forum/201109/30/084409ut7fr23la3ifcbj2.png.thumb.jpg%20inpost=1%20alt=QQ%BD%D8%CD%BC20110930084405.png%20title=QQ%BD%D8%CD%BC20110930084405.png%20onmouseover=showMenu({ctrlid:this.id
看xml文件的内容大概知道了,这个应该是flash上传框的配置文件,包括了它的菜单按钮的文字等。
我们看这段的php文件。文件是 home_misc.php 其中没有什么有用的内容,依旧包含了一个include文件 misc_swfupload.php
我们看这个文件。
这个文件就是flash批量上传的核心控制文件了。其中可以分为4块内容
第1块 1-34行,基本参数配置,
第2块36-53行,上传完成后的后续处理代码
第3块53-76行,生成传入flash的配置参数
第4块77-96行,上传图片代码
其他
原理是这样,flash作为一个客户端执行post ,post的地址就是我们config中的uploadurl,看下也就是现在这个文件自己。
所以我们说上传的控制也就是这个php文件了。第一部分有
  1. if(!empty($_POST['uid'])) {
  2. 复制代码
复制代码
这样开始的一段代码,就是处理post来的uid,因为flash post过来之后。就没有$_G等信息存在了。所以要在这里判断一下用户权限,并且设置一下。然在第四块,对$_FILES 进行处理,在这里用的是一个pic_save函数,我们查一下可以查到。函数里调用了discuz 的upload类进行文件上传。之后返回一个数组$uploadfiles。根据返回数组的值,我们判断上传是否成功。并且设置状态$status
根据状态位,我们输出flash的配置参数,其中还涉及到了一个文件,刚才没有提到,misc_swfupload.htm 这个文件是一个xml的模板文件,根据我们 misc_swfupload.php 中的配置信息,输出相应的xml
好了flash批量上传大体就是这个样子,其中涉及到一些细节的参数没有提到,感兴趣的可以自己去试一试,哪个参数是做什么的。让这个flash批量上传功能完全为我们自己所用。
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
发表于 2012-3-23 23:48:54 | 显示全部楼层
这个必须得顶
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
发表于 2012-3-23 23:48:58 | 显示全部楼层
不错的说!
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
发表于 2012-3-23 23:49:00 | 显示全部楼层
好东西!!!!!!!!!!!!
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
发表于 2012-3-23 23:49:04 | 显示全部楼层
不错,分析的很好
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
发表于 2012-3-23 23:49:07 | 显示全部楼层
支持起来了
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
发表于 2012-3-23 23:49:12 | 显示全部楼层
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
发表于 2012-3-23 23:49:14 | 显示全部楼层
good!俺是菜鸟,最好弄个案例出来,学习下
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
 楼主| 发表于 2012-3-23 23:49:18 | 显示全部楼层
案例就是dx中家园相册的批量上传啊。
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
发表于 2012-3-23 23:49:24 | 显示全部楼层
技术贴,顶。
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

 
QQ在线咨询
售前咨询热线
0532-88371356
售后服务微信
pingduwangzhan
快速回复 返回顶部 返回列表