Heim >Backend-Entwicklung >PHP-Tutorial >swfupload配置与使用方法_PHP教程

swfupload配置与使用方法_PHP教程

WBOY
WBOYOriginal
2016-07-20 11:11:36904Durchsuche

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) { 

    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中

view sourceprint?file_size_limit : "100 MB",

修改为期待的尺寸(最大2G)

修改nginx.conf,/etc/init.d/nginx reload,若不添加下面的设置,则nginx会出现413 Request Entity Too Large错误

 代码如下 复制代码

view sourceprint?http { 

... 

client_max_body_size 128M 

... 

}

同时需要修改服务器配置 php.ini, /etc/init.d/php-cgi reload

 代码如下 复制代码

view sourceprint?upload_max_filesize 100M 

post_max_size 100M 

memory_limit 128M

注意到swfupload并不要求修改max_execution_time和max_input_time的配置。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/444644.htmlTechArticleswfupload是一个用来文件上传的组件,对于大文件我们觉得是很不错的,下面我来介绍swfupload配置与使用方法吧。 swfupload对于大文件上传等比...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn