国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP swfupload圖片文件上傳實例代碼

2024-09-04 11:44:30
字體:
來源:轉載
供稿:網友

 

swfupload是一個flash插件它可以結合php來快速實現圖片文件無刷新上傳,同時還可以批量上傳圖片,下面我來給大家介紹PHP swfupload圖片文件上傳實例代碼有需要了解的中參考.

index.php文件,代碼如下:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  2. <html xmlns="http://www.w3.org/1999/xhtml" > 
  3. <head> 
  4. <title>SWFUpload Demos - SWFObject Demo</title> 
  5. <link href="../css/default.css" rel="stylesheet" type="text/css" /> 
  6. <script type="text/javascript" src="../swfupload/swfupload.js"></script> 
  7. <script type="text/javascript" src="js/swfupload.swfobject.js"></script> 
  8. <script type="text/javascript" src="js/swfupload.queue.js"></script> 
  9. <script type="text/javascript" src="js/fileprogress.js"></script> 
  10. <script type="text/javascript" src="js/handlers.js"></script> 
  11. <script type="text/javascript"
  12. var swfu; 
  13.  
  14. SWFUpload.onload = function () { 
  15.  var settings = { 
  16.   flash_url : "../swfupload/swfupload.swf"
  17.   upload_url: "upload.php"
  18.   post_params: { 
  19.    "PHPSESSID" : "NONE"
  20.    "HELLO-WORLD" : "Here I Am"
  21.    ".what" : "OKAY" 
  22.   }, 
  23.   file_size_limit : "100 MB"
  24.   file_types : "*.jpg;*.gif;*.png;*.jpeg;"
  25.   file_types_description : "All Files"
  26.   file_upload_limit : 100, 
  27.   file_queue_limit : 0, 
  28.   custom_settings : { 
  29.    progressTarget : "fsUploadProgress"
  30.    cancelButtonId : "btnCancel" 
  31.   }, 
  32.   debug: false, 
  33.  
  34.   // Button Settings 
  35.   button_image_url : "XPButtonUploadText_61x22.png"
  36.   button_placeholder_id : "spanButtonPlaceholder"
  37.   button_width: 61, 
  38.   button_height: 22, 
  39.  
  40.   // The event handler functions are defined in handlers.js 
  41.   swfupload_loaded_handler : swfUploadLoaded, 
  42.   file_queued_handler : fileQueued, 
  43.   file_queue_error_handler : fileQueueError, 
  44.   file_dialog_complete_handler : fileDialogComplete, 
  45.   upload_start_handler : uploadStart, 
  46.   upload_progress_handler : uploadProgress, 
  47.   upload_error_handler : uploadError, 
  48.   upload_success_handler : uploadSuccess, 
  49.   upload_complete_handler : uploadComplete, 
  50.   queue_complete_handler : queueComplete, // Queue plugin event 
  51.    
  52.   // SWFObject settings 
  53.   minimum_flash_version : "9.0.28"
  54.   swfupload_pre_load_handler : swfUploadPreLoad, 
  55.   swfupload_load_failed_handler : swfUploadLoadFailed 
  56.  }; 
  57.  
  58.  swfu = new SWFUpload(settings); 
  59.  
  60. </script> 
  61. </head> 
  62. <body> 
  63. <div id="header"
  64.  <h1 id="logo"><a href="../">SWFUpload</a></h1> 
  65.  <div id="version">v2.2.0</div> 
  66. </div> 
  67.  
  68. <div id="content"
  69.  
  70.  <h2>SWFObject Demo</h2> 
  71.  <form id="form1" action="index.php" method="post" enctype="multipart/form-data"
  72.   <p> This page demonstrates the SWFObject plugin.  Do each of the following (one at a time) to see the plugin work: </p> 
  73.    <ul> 
  74.     <li>Uninstall your Flash Player or install a version less than 9.0.28</li> 
  75.     <li>Cause the SWF file to fail to load by deleting or renaming swfupload.swf (simulating a very slow or failed download)</li> 
  76.     <li>Disable JavaScript</li> 
  77.    </ul> 
  78.   <p> 
  79.    Each of these tests demontrate how these issues can be handled by SWFUpload and the SWFObject libraries. 
  80.   </p> 
  81.   <div id="divSWFUploadUI"
  82.    <div class="fieldset  flash" id="fsUploadProgress"
  83.    <span class="legend">Upload Queue</span> 
  84.    </div> 
  85.    <p id="divStatus">0 Files Uploaded</p> 
  86.    <p> 
  87.     <span id="spanButtonPlaceholder"></span> 
  88.     <input id="btnCancel" type="button" value="Cancel All Uploads" disabled="disabled" style="margin-left: 2px; height: 22px; font-size: 8pt;" /> 
  89.     <br /> 
  90.    </p> 
  91.   </div> 
  92.   <noscript> 
  93.    <div style="background-color: #FFFF66; border-top: solid 4px #FF9966; border-bottom: solid 4px #FF9966; margin: 10px 25px; padding: 10px 15px;"
  94.     We're sorry.  SWFUpload could not load.  You must have JavaScript enabled to enjoy SWFUpload. 
  95.    </div> 
  96.   </noscript> 
  97.   <div id="divLoadingContent" class="content" style="background-color: #FFFF66; border-top: solid 4px #FF9966; border-bottom: solid 4px #FF9966; margin: 10px 25px; padding: 10px 15px; display: none;"
  98.    SWFUpload is loading. Please wait a moment... 
  99.   </div> 
  100.   <div id="divLongLoading" class="content" style="background-color: #FFFF66; border-top: solid 4px #FF9966; border-bottom: solid 4px #FF9966; margin: 10px 25px; padding: 10px 15px; display: none;"
  101.    SWFUpload is taking a long time to load or the load has failed.  Please make sure that the Flash Plugin is enabled and that a working version of the Adobe Flash Player is installed. 
  102.   </div> 
  103.   <div id="divAlternateContent" class="content" style="background-color: #FFFF66; border-top: solid 4px #FF9966; border-bottom: solid 4px #FF9966; margin: 10px 25px; padding: 10px 15px; display: none;"
  104.     
  105.   </div> 
  106.  </form> 
  107. </div> 
  108. </body> 
  109. </html> 

 

核心處理程序php代碼,代碼如下:

  1. if (isset($_FILES["Filedata"]) || !is_uploaded_file($_FILES["Filedata"]["tmp_name"]) || $_FILES["Filedata"]["error"] != 0) {  
  2.     $upload_file = $_FILES['Filedata'];  
  3.     $file_info   = pathinfo($upload_file['name']);  
  4.     $file_type   = $file_info['extension'];  
  5.     $save        = 'image/' . md5(uniqid($_FILES["Filedata"]['name'])) . '.' . $file_info['extension'];  
  6.     $name        = $_FILES['Filedata']['tmp_name'];  
  7.     //開源代碼Vevb.com 
  8.     if (!move_uploaded_file($name$save)) {  
  9.         exit;  
  10.     }
  11.     //將數組的輸出存起來以供查看  
  12.     $fileName = 'test.txt';  
  13.     $postData = var_export($file_info, true);  
  14.     $file     = fopen('' . $fileName"w");  
  15.     fwrite($file,$postData);  
  16.     fclose($file);  

 

swfUpload注意事項

swfuplaod在上傳時,會新開一個進程,和原來的進程不一致,要解決這個問題,需要指定session_id,然后在登錄頁面判斷,如果有post過來的session_id,那么就用函數session_id($_POST['PHP_SESSIONID'])指定一下.

上傳頁的JS里面,可以獲取當前的SESSION_ID的,例如上傳頁的JS中,代碼如下:

post_params: {"PHPSESSID": "<?php echo session_id(); ?>"},

在驗證的判斷頁,代碼如下:

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

這一段是網上的注釋,在帶有Session驗證的網站后臺中SWFUpload無法正常工作,這是因為SWFUpload在上傳時相當于重新開辟了一個新的Session 進程,因此無法與原有程序的Session保持一致,這就需要在上傳時傳遞原有程序的SessionID,根據它來“找回”其應有的Session.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 红桥区| 开鲁县| 蚌埠市| 凤冈县| 泾川县| 绥德县| 含山县| 双桥区| 光山县| 濮阳市| 庐江县| 南平市| 乐业县| 惠水县| 健康| 万全县| 承德县| 旺苍县| 眉山市| 普陀区| 临武县| 界首市| 平乡县| 孟州市| 双流县| 丰镇市| 修水县| 曲水县| 扬州市| 四会市| 神木县| 通江县| 海阳市| 宜阳县| 光山县| 滦南县| 墨玉县| 根河市| 阿拉善盟| 犍为县| 江安县|