Heim > Backend-Entwicklung > PHP-Tutorial > PHP swfupload图片文件上传范例代码

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

WBOY
Freigeben: 2016-06-13 12:20:07
Original
886 Leute haben es durchsucht

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

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

效果图



?

index.php文件

<title>SWFUpload Demos - SWFObject Demo</title><link href="../css/default.css" rel="stylesheet" type="text/css"><script type="text/javascript" src="../swfupload/swfupload.js"></script><script type="text/javascript" src="js/swfupload.swfobject.js"></script><script type="text/javascript" src="js/swfupload.queue.js"></script><script type="text/javascript" src="js/fileprogress.js"></script><script type="text/javascript" src="js/handlers.js"></script><script type="text/javascript">var swfu;SWFUpload.onload = function () { var settings = {  flash_url : "../swfupload/swfupload.swf",  upload_url: "upload.php",  post_params: {   "PHPSESSID" : "NONE",   "HELLO-WORLD" : "Here I Am",   ".what" : "OKAY"  },  file_size_limit : "100 MB",  file_types : "*.jpg;*.gif;*.png;*.jpeg;",  file_types_description : "All Files",  file_upload_limit : 100,  file_queue_limit : 0,  custom_settings : {   progressTarget : "fsUploadProgress",   cancelButtonId : "btnCancel"  },  debug: false,  // Button Settings  button_image_url : "XPButtonUploadText_61x22.png",  button_placeholder_id : "spanButtonPlaceholder",  button_width: 61,  button_height: 22,  // The event handler functions are defined in handlers.js  swfupload_loaded_handler : swfUploadLoaded,  file_queued_handler : fileQueued,  file_queue_error_handler : fileQueueError,  file_dialog_complete_handler : fileDialogComplete,  upload_start_handler : uploadStart,  upload_progress_handler : uploadProgress,  upload_error_handler : uploadError,  upload_success_handler : uploadSuccess,  upload_complete_handler : uploadComplete,  queue_complete_handler : queueComplete, // Queue plugin event    // SWFObject settings  minimum_flash_version : "9.0.28",  swfupload_pre_load_handler : swfUploadPreLoad,  swfupload_load_failed_handler : swfUploadLoadFailed }; swfu = new SWFUpload(settings);}</script><div id="header"> <h1 id="logo"><a href="../">SWFUpload</a></h1> <div id="version">v2.2.0</div>
</div><div id="content"> <h2>SWFObject Demo</h2> <form id="form1" action="index.php" method="post" enctype="multipart/form-data">  <p> This page demonstrates the SWFObject plugin.  Do each of the following (one at a time) to see the plugin work: </p>   <ul>    <li>Uninstall your Flash Player or install a version less than 9.0.28</li>    <li>Cause the SWF file to fail to load by deleting or renaming swfupload.swf (simulating a very slow or failed download)</li>    <li>Disable JavaScript</li>   </ul>  <p>   Each of these tests demontrate how these issues can be handled by SWFUpload and the SWFObject libraries.  </p>  <div id="divSWFUploadUI">   <div class="fieldset  flash" id="fsUploadProgress">   <span class="legend">Upload Queue</span>   </div>   <p id="divStatus">0 Files Uploaded</p>   <p>    <span id="spanButtonPlaceholder"></span>    <input id="btnCancel" type="button" value="Cancel All Uploads" disabled style="margin-left: 2px; height: 22px; font-size: 8pt;">    <br>   </p>  </div>  <noscript>   <div style="background-color: #FFFF66; border-top: solid 4px #FF9966; border-bottom: solid 4px #FF9966; margin: 10px 25px; padding: 10px 15px;">    We're sorry.  SWFUpload could not load.  You must have JavaScript enabled to enjoy SWFUpload.   </div>  </noscript>  <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;">   SWFUpload is loading. Please wait a moment...  </div>  <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;">   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.  </div>  <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;">     </div> </form>
</div>
Nach dem Login kopieren

?

核心处理程序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);}
Nach dem Login kopieren

?

swfUpload注意事项

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

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

例如上传页的JS中:

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

?

在验证的判断页中:

         if (isset($_POST["PHPSESSID"])) {            session_id($_POST["PHPSESSID"]);        }
Nach dem Login kopieren

?

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

DEMO下载地址:http://dl.iteye.com/topics/download/b6351ce4-b3e3-30a3-b8af-eda7b98a1c79

?

?

?

?

?

?

?

?

?

?

?

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage