目前分類:SWFUpload (3)

瀏覽方式: 標題列表 簡短摘要

原文網址:http://tw.newtonstudio.com/?p=329

以下轉載原文

--------------------------------------------------------------------------------------------------

PHP的File Upload功能固然強大, 但要滿足大量檔案上傳的需求仍需要搭配AJAX或是Flash object, 這篇文章就是要介紹一個好用的Flash Uploader, 讓你可以直接從Windows, 在同一個目錄下選取要上傳的檔案, 達成輕鬆上傳的目的.

SwfUpload

官方網站: http://swfupload.org/

範例: http://demo.swfupload.org/v220/index.htm

index.php FLASH檔案上傳的頁面

<!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>
<meta http-equiv=”Content-Type” content=”text/html; charset=big5″ />
<link href=”style.css” rel=”stylesheet” type=”text/css” />
<link href=”default.css” rel=”stylesheet” type=”text/css” />
<title>測試</title>
<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”, //負責處理上傳的PHP檔案
post_params: {
“PHPSESSID” : “NONE”,
“HELLO-WORLD” : “Here I Am”,
“.what” : “OKAY”
},
file_size_limit : “100 MB”,
file_types : “*.*”,
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 : “images/XPButtonUploadText_61×22.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>

<form id=”form1″ action=”index.php” method=”post” enctype=”multipart/form-data”>
<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;  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;”>
We’re sorry.  SWFUpload could not load.  You may need to install or upgrade Flash Player.
Visit the <a href=”http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash”>Adobe website</a> to get the Flash Player.
</div>
</form>

</body>

</html>

upload.php , 負責處理上傳後的PHP

$upload_name = “Filedata”;

if(isset($_FILES[$upload_name])) {

$filename = $_FILES[$upload_name]['name'];
copy($_FILES[$upload_name]['tmp_name'], $filename);

}

 

yoonow 發表在 痞客邦 留言(0) 人氣()

原文網址:http://jaichang2008.pixnet.net/blog/post/24872571

以下轉載原文

------------------------------------------------------------------------------------------

我們在執行 PHP 專案的時候,越來越多的客戶需要大量的圖片上傳,所以我就一直在想辦法從 PHP 找一些解答,拚命的在 phpclass 找高手有寫過的程式,但由於我們的主機是虛擬主機,很多可以顯示進度及多檔上傳的 class 都無法使用,最後卻在 Flash 找到解答,thank's god!

 

利用了一個晚上的時間,看了一下 swfupload 的文件,很順利的嵌入我們的網站後台管理系統。我們的網站後台管理系統,我稱之為「半客製化」後台管理系統,有一些基本的功能,系統自動產生程式,也可以很便利的嵌入一些新的功能,或比較流行的功能。

這次我們就馬上的用在「2008南投花卉嘉年華」的案子裡面囉。真高興,我們網站後台管理系統又多了一個功能了~~

圖片 1_530.jpg
支援進度bar及多檔上傳

在寫這篇文章時,版本是 2.2 的。由於 swfupload 是由 Flash + ActionScript 寫成的,所以基本上相容於任何的瀏覽器及程式語言(Asp.net、ASP、PHP....),此工具有以下幾種特色:

  一、多檔上傳功能。
  二、Ajax風格,上傳頁面不會 reload。
  三、進度條(Progress Indicator)。
  四、相容於其他的 javascript libraries(例如:jQuery,Prototype,等等...)。

開發人員也可以利用 HTML,CSS 或 Javascript 來修改使用者介面(UI),以符合網站的風格。可以使用簡單的 Javascript來更新上傳的狀態。也可以使用內建的事件(event)來符合網站的需求。

文件:http://www.swfupload.org/documentation

最新版本下載:http://swfupload.googlecode.com

論壇:http://www.swfupload.org/forum

 

yoonow 發表在 痞客邦 留言(0) 人氣()

原文網址:http://bbs.flash2u.com.tw/dv_rss_xhtml_181_132633_3.html

以下轉載原文

------------------------------------------------------------------------------------------------

時下上傳檔案一般有三種方式:    
1、使用隱藏的FRAME來模擬AJAX的方式上傳檔案    
2、使用ACTIVEX上傳檔案    
3、使用Flash組件+Javascript上傳檔案(嚴格的來說FLASH也算是ACTIVEX)    

一般使用B/S結構上傳大檔案的應用一般在區網中使用,在INTERNET中應用的效果還不是很理想。
使用INTERNET上傳檔案一般也就是10-20M左右。    

SWFUpload是老外開發的一個FLASH上傳組件

首頁網址:http://www.swfupload.org/ ,目前最新版本是V2.2.0.1
下載網址:http://code.google.com/p/swfupload/downloads/list


其具體使用請大家到官方網站下載吧

DEMO地址:http://demo.swfupload.org/。     

頁面效果如下圖:


圖片:
   

目前上傳單個檔案的進度條的位置有點偏上,CSS我沒調整好,希望各位在調整好進度條顯示後把CSS給我發一份!修正針對網友提出的問題[上傳第一個檔案後再上傳一個檔案,上傳總進度統計錯了],修正如下: 

(1)、在demoupload.aspx頁面的聲明加"queue_complete_handler:queueComplete" 

(2)、在handler.js中的queueComplete如下: function queueComplete(numFilesUploaded) { fg_fileSizes = 0; fg_uploads = 0; }


圖片:
  


SWFUpload範例下載

yoonow 發表在 痞客邦 留言(0) 人氣()