swfupload配置与使用方法
发布:smiling 来源: PHP粉丝网 添加日期:2014-08-28 13:18:08 浏览: 评论:0
swfupload是一个用来文件上传的组件,对于大文件我们觉得是很不错的,下面我来介绍swfupload配置与使用方法吧.
swfupload对于大文件上传等比较好用,下面以classic form demo为例,简单说明下用法.
下载地址:http://code.google.com/p/swfupload/downloads/list
其中 SWFUpload_v250_beta_3_samples.zip 为实例代码,解压后重命名为swfupload,保存到本地主文件夹(nginx+php环境)下,便可以通过.
http://localhost/swfupload/demos/ 访问其中两个文件夹,demos 为客户端的实例,samples 提供了各语言的文件保存代码,切换到 http://localhost/swfupload/demos/formsdemo/ 即普通表单模式,在/demos/formsdemo/下新建文件夹 uploads,将 /smaples/php/upload.php 中的代码拷贝到 /demos/formsdemo/upload.php 开头,即
// The Demos don't save files
这个注释下面,修改其中的代码:
view sourceprint?$upload_name = "filedata"; 为:
view sourceprint?$upload_name = "resume_file";
与/demos/formsdemo/index.php中的表单元素名称一致
此时,可以使用表单正常上传文件,上传的文件保存在/demos/formsdemo/uploads/目录下数据库处理部分,应修改下面的代码:
- if (isset($_FILES["resume_file"]) && is_uploaded_file($_FILES["resume_file"]["tmp_name"]) && $_FILES["resume_file"]["error"] == 0) {
- //开源代码phpfensi.com
- echo rand(1000000, 9999999); // Create a pretend file id, this might have come from a database.
- }
这段代码是原来demo中的upload,其作用时返回一个已经上传的文件的id并赋给表单的hidFileID标签(注意到,这个标签是一个hidden元素).
原demo是随机产生的一个数,在这要修改为数据库插入操作得到的一个数据库表的id值,即下面的做法:
去掉对$_FILES的if判断(这在上面的move_uploaded_file之后is_uploaded_file判断为false);进行数据库插入操作;直接echo得到的id(数字型),对于大文件上传,需要首先修改表单部分的,代码如下:
/demos/formsdemo/index.php中
file_size_limit : "100 MB".
修改为期待的尺寸(最大2G),修改nginx.conf,/etc/init.d/nginx reload,若不添加下面的设置,则nginx会出现413 Request Entity Too Large错误,代码如下:
- http {
- ...
- client_max_body_size 128M
- ...
- }
同时需要修改服务器配置 php.ini,/etc/init.d/php-cgi reload,代码如下:
- upload_max_filesize 100M
- post_max_size 100M
- memory_limit 128M
注意到swfupload并不要求修改max_execution_time和max_input_time的配置.
Tags: swfupload配置 swfupload使用
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)