swfupload是一个flash插件它可以结合php来快速实现图片文件无刷新上传,同时还可以批量上传图片,下面我来给大家介绍PHP swfupload图片文件上传实例代码有需要了解的中参考。
效果图
index.php文件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <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> </head> <body> <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="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> </body> </html>
核心处理程序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": "<?php echo session_id(); ?>"},
在验证的判断页中:
if (isset($_POST["PHPSESSID"])) { session_id($_POST["PHPSESSID"]); }
(这一段是网上的注释:在带有Session验证的网站后台中SWFUpload无法正常工作,这是因为SWFUpload在上传时相当于重新开辟了一个 新的Session 进程,因此无法与原有程序的Session保持一致,这就需要在上传时传递原有程序的SessionID,根据它来“找回”其应有的Session。)
DEMO下载地址:http://dl.iteye.com/topics/download/b6351ce4-b3e3-30a3-b8af-eda7b98a1c79
相关推荐
swfupload多文件上传 php源码swfUpload 多文件上传 php多文件上传 swfupload多文件上传 php源码swfUpload 多文件上传 php多文件上传 swfupload多文件上传 php源码swfUpload 多文件上传php实例代码swfUpload 多文件...
综上所述,"swfUpload+多文件上传php实例代码"主要涵盖了JavaScript的前端开发、Flash技术的应用、以及PHP的后端处理。通过这个实例,你可以学习如何实现一个功能完备、用户体验良好的多文件上传功能。
10. **集成到现有项目**:将SWFUpload集成到现有的Web应用程序中,可能需要修改现有的前端和后端代码,以处理SWFUpload生成的文件上传请求。 综上所述,SWFUpload是一个强大的文件上传解决方案,它提供了丰富的功能...
**SwfUpload 多文件上传实例详解** SwfUpload 是一款功能强大的JavaScript和Flash结合的文件上传组件,它允许用户在网页上实现多文件选择和批量上传的功能。由于Flash技术的支持,SwfUpload 可以提供比纯JavaScript...
总的来说,"php + swfupload 实现批量上传图片实例"是一个实用的解决方案,它利用PHP的文件处理能力和SWFUpload的多文件上传功能,为用户提供了一个易于使用的批量图片上传工具。只要配置正确,这个系统可以在各种...
SwfUpload是一款经典的JavaScript与Flash结合的文件上传组件,它允许用户实现多文件上传功能,尤其适用于图片上传。在Web应用中,SwfUpload能够提供一个友好的用户体验,通过Flash技术实现了异步上传,减轻了服务器...
这个实例是基于PHP的,因此我们将深入探讨如何利用SWFUpload与PHP结合,实现高效、友好的多文件上传体验。 首先,SWFUpload是通过Flash技术实现的,因为Flash支持在浏览器端选择并上传多个文件。它提供了丰富的API...
综上所述,SWFUpload 是一个强大的多图片上传解决方案,结合PHP后端可以构建出高效且安全的文件上传系统。通过学习和掌握SWFUpload,开发者可以提升网站的用户体验,同时确保上传过程的安全性和可靠性。
在本篇中,我们将深入探讨如何使用SWFUpload,以及如何结合PHP来实现一个简单的多文件上传系统。 ### 1. SWFUpload 基础 SWFUpload 是基于Flash技术的,因此需要用户的浏览器支持Flash插件。它的工作原理是通过...
SWFUpload 是一个流行的JavaScript库,它允许用户在浏览器端实现多文件上传功能,特别适用于大文件上传。它通过Flash插件提供了一个友好的用户界面,使得文件上传过程更为顺畅。在PHP环境中,SWFUpload与服务器端的...
这个"swfupload上传实例"是一个具体的示例,展示了如何在PHP环境中集成SWFUpload以实现高效的文件上传功能。 ### 1. SWFUpload 概述 SWFUpload 是一款开源项目,利用Adobe Flash插件(SWF文件)作为前端界面,提供...
**SWFUpload 文件上传控件详解** 在网页开发中,文件上传功能是不可或缺的一部分,而SWFUpload就是一款优秀的文件上传控件。它利用Flash技术,提供了多文件上传和进度显示的功能,使得用户在上传大文件或多个文件时...
本文将详细讲解如何使用PHP、jQuery和SWFUpload来创建一个高效的文件上传实例。 ### 1. SWFUpload简介 SWFUpload是一款基于Flash的上传组件,它可以提供断点续传、多文件上传、文件大小限制、进度条显示等功能。...
SWFUpload 是一款开源的JavaScript库,用于在Web应用程序中实现文件上传功能。它通过Flash插件提供了一种轻量级、高效的文件上传解决方案,能够处理多文件选择、进度条显示以及预览等功能,尤其适合那些需要大文件...
`SWFUpload` 是一个广泛使用的Flash组件,它允许在网页中实现异步多文件上传,提供了类似于58赶集的图片上传体验。本篇文章将详细介绍如何使用SWFUpload来创建一个类似功能的图片上传程序。 首先,我们需要理解`...
SWFUpload是一个流行的JavaScript库,专门用于在网页上实现文件上传功能。它利用Flash技术来克服HTML表单上传文件时的一些限制,如无法多文件选择和进度显示等。本篇文章将深入探讨SWFUpload的工作原理、使用方法...
下载提供的`swfupload批量上传实例`压缩包,其中包含了完整的HTML、JavaScript、PHP代码,以及必要的样式和Flash文件。你可以根据自己的需求调整代码,实现批量上传图片并处理上传后的各种操作。 总的来说,...
**SWFUpload 知识点详解** ...通过以上步骤和知识点,你将能够有效地使用SWFUpload实现批量文件上传功能,并在MyEclipse 6.5环境下进行开发和调试。记住,持续优化和测试是确保上传功能稳定性和用户体验的关键。