ホームページ  >  記事  >  php教程  >  PHP swfupload图片文件上传实例代码

PHP swfupload图片文件上传实例代码

WBOY
WBOYオリジナル
2016-06-13 11:27:45780ブラウズ

swfupload是一个flash插件它可以结合php来快速实现图片文件无刷新上传,同时还可以批量上传图片,下面我来给大家介绍PHP swfupload图片文件上传实例代码有需要了解的中参考。

效果图

index.php文件

 代码如下 复制代码




SWFUpload Demos - SWFObject Demo









 

SWFObject Demo


 

  

This page demonstrates the SWFObject plugin.  Do each of the following (one at a time) to see the plugin work:


   

        
  • Uninstall your Flash Player or install a version less than 9.0.28

  •     
  • Cause the SWF file to fail to load by deleting or renaming swfupload.swf (simulating a very slow or failed download)

  •     
  • Disable JavaScript

  •    

  


   Each of these tests demontrate how these issues can be handled by SWFUpload and the SWFObject libraries.
  


  

   

   Upload Queue
   

   

0 Files Uploaded


   


    
    
    

   


  

  
  
  
  
 




核心处理程序php代码

 代码如下 复制代码

if (isset($_FILES["Filedata"]) || !is_uploaded_file($_FILES["Filedata"]["tmp_name"]) || $_FILES["Filedata"]["error"] != 0) {
    $upload_file = $_FILES['Filedata'];
    $file_info   = pathinfo($upload_file['name']);
    $file_type   = $file_info['extension'];
    $save        = 'image/' . md5(uniqid($_FILES["Filedata"]['name'])) . '.' . $file_info['extension'];
    $name        = $_FILES['Filedata']['tmp_name'];
 
    if (!move_uploaded_file($name, $save)) {
        exit;
    }
 
    //将数组的输出存起来以供查看
    $fileName = 'test.txt';
    $postData = var_export($file_info, true);
    $file     = fopen('' . $fileName, "w");
    fwrite($file,$postData);
    fclose($file);
}


swfUpload注意事项


swfuplaod在上传时,会新开一个进程,和原来的进程不一致,要解决这个问题,需要指定session_id,然后在登录页面判断,如果有post过来的session_id,那么就用函数session_id( $_POST['PHP_SESSIONID'])指定一下。

上传页的JS里面,可以获取当前的SESSION_ID的。

例如上传页的JS中:

 代码如下 复制代码

post_params: {"PHPSESSID": ""},

在验证的判断页中:

 代码如下 复制代码

        if (isset($_POST["PHPSESSID"])) {
            session_id($_POST["PHPSESSID"]);
        }

(这一段是网上的注释:在带有Session验证的网站后台中SWFUpload无法正常工作,这是因为SWFUpload在上传时相当于重新开辟了一个新的Session 进程,因此无法与原有程序的Session保持一致,这就需要在上传时传递原有程序的SessionID,根据它来“找回”其应有的Session。)

完整实例下载地址:http://file.php100.com/download/2013/05/14/swfupload.zip


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。