Hot For Coding

SWFUpload在PHP中使用实例

前几天,介绍了PHP上传文件,应该说是普通模式上传文件。在网速畅通,上传的文件不大的情况下普通模式看起来还是很使用的。但如果要上传很大的一个文件,假如说几百兆,一部电影等等。那普通模式就有点欠缺了,因为上传大文件通常时间长,如果页面长时间处于处理状态用户会误以为死机了,然后直接把网页关掉,结果上传到一半的文件被终止了。

如果使用Flash来实现上传,这样不仅可以计算上传所需时间,上传进度,状态等等,还可以在浏览器端就能判断文件的大小。所以今天介绍如何使用SWFUpload组件上传文件,大家可以到官网下载SWFUpload程序。这里就不在赘述的介绍SWFUpload的特性了

SWFUpload

  • 下载SWFUpload部署到服务器WebServer目录下
  • 给file文件夹777权限
  • 直接用浏览器打开index.php页面

配置

  • index.php中找到file_size_limit : "100 MB"这个是前端限制上传文件的大小,什么是前端限制大小呢?就是说当用户选择文件后,Flash先获取文件信息,然后根据此设置值来判断是否超过大小,如果超过则直接给出提示。
  • index.php中找到file_types_description : "All Files"这个是前端限制允许上传类型,原理同上。

前端安全监测优势

前端限制意思就是说在客户端就直接给判断了,而不需要把文件上传到服务器,由服务器来判断。由于是浏览器端判断所以判断结果是不够安全得,结合Flash做到前端判断是非常完美的一件事,这样就很大程度上减少服务器压力。

结合Flash与JavaScript上传特点,童鞋们可以在JavaScript中加入自己需要的功能,比如文件名关键字过滤 ,上传成功后做的操作,比如写库等等。

常见错误

  • 404: 打开index.php找到flash_urlupload_url都设置成绝对URL地址
  • 500:
    • 在upload.php中找到$extension_whitelist = array("doc", "txt", "jpg", "gif", "png","sql");这个数组,数组里边是允许上传文件类型,如果需要增加类型或去掉类型可以修改此数组。
    • 在upload.php中找到$max_file_size_in_bytes = 2147483647这个变量,允许上传文件的大小,单位是字节,自己换算。
    • 在upload.php中找到$save_path = getcwd() . "/file/";变量,这个是上传目录,检查上传目录是否给了777权限 ,其中默认路径就是当前路径下的file目录,可自行修改。
    • 服务器错误导致,检查服务器代码吧!
分享

TITLE: SWFUpload在PHP中使用实例

LINK: https://www.qttc.net/48-php-swfupload.html

NOTE: 原创内容,转载请注明出自琼台博客