PHP SWFUpload Demo
SWFUpload是一款非常好用的上傳組件,它能夠?qū)崿F(xiàn)多個文件的上傳,并在上傳文件的同時可以執(zhí)行其他操作,如展現(xiàn)上傳進度、設置上傳文件的類型和大小等。球友們在日常開發(fā)中常常會選用SWFUpload進行網(wǎng)站圖片、文件等的單文件或批量上傳,而此篇文重點介紹了一個基于PHP環(huán)境的SWFUpload上傳示例。
下面是一個基本的上傳界面示例:
上述示例使用了一個簡單的表單,包含一個上傳按鈕和一個存放進度條的DIV。在表單提交時調(diào)用了SWFUpload上傳的接口,在實例化SWFUpload的時候為SWFUpload對象傳遞了一個參數(shù)對象,包括多個上傳的屬性和事件處理器。其中upload_completed_handler是在文件上傳完成之后處理代碼的函數(shù),upload_error_handler是在上傳過程中出現(xiàn)錯誤時處理代碼的函數(shù),upload_start_handler是在文件開始上傳前處理代碼的函數(shù),upload_progress_handler是在文件上傳過程中處理代碼的函數(shù),而file_queued_handler則是在文件隊列中插入新文件時的處理函數(shù)。
除了前端顯示界面的編寫,后端的PHP代碼也非常重要。下面是一個簡單的上傳文件處理的PHP示例:
上面的代碼中變量$file_name、$file_size、$file_type和$file_tmp分別是上傳文件的名稱、大小、類型和上傳臨時路徑。在進行文件上傳前需要對上述變量進行各種異常錯誤處理,如文件大小的校驗、文件類型的檢測和是否存在的判斷等。最后如果檢驗暨處理順利通過后則將文件移動到指定的保存目錄中,從而完成文件的上傳操作。
以上就是一個基于PHP環(huán)境的SWFUpload上傳示例,我們可以根據(jù)自己的需求進行一些擴展和改進,以實現(xiàn)更復雜和實用的功能。希望本文對球友們在進行SWFUpload上傳時有所幫助。
SWFUpload是一款非常好用的上傳組件,它能夠?qū)崿F(xiàn)多個文件的上傳,并在上傳文件的同時可以執(zhí)行其他操作,如展現(xiàn)上傳進度、設置上傳文件的類型和大小等。球友們在日常開發(fā)中常常會選用SWFUpload進行網(wǎng)站圖片、文件等的單文件或批量上傳,而此篇文重點介紹了一個基于PHP環(huán)境的SWFUpload上傳示例。
下面是一個基本的上傳界面示例:
<form id="uploadForm" enctype="multipart/form-data">
<div id="FileProgress"></div>
<div id="uploadFiles">
<p><input type="file" name="Filedata" /></p>
<p><input type="button" value="上傳" /></p>
</div>
</form>
<script type="text/javascript">
$(function() {
$('#uploadFiles input[type="button"]').click(function() {
$('#uploadForm').submit();
});
new SWFUpload({
upload_url: "upload.php", // 上傳地址
flash_url : "/swfupload/swfupload.swf",
file_post_name : "Filedata", // 提交參數(shù)名稱
file_size_limit : "1 MB", // 限制上傳文件大小
file_types : "*.jpg;*.jpeg;*.gif;*.png", // 限制上傳文件類型
file_types_description : "圖片文件", // 文件類型說明
file_upload_limit : 0, // 限制文件上傳數(shù)
file_queue_limit : 10, // 限制上傳隊列里的文件數(shù)量
upload_completed_handler : function(file) {
// 上傳完成后處理
},
upload_error_handler : function(file, errorCode) {
// 文件上傳過程中出錯
},
upload_start_handler : function(file) {
// 文件開始上傳前的處理
},
upload_progress_handler : function(file, bytesLoaded, bytesTotal) {
// 文件上傳進度處理
},
file_queued_handler : function(file) {
// 文件加入到上傳隊列中后的處理
}
});
});
</script>
上述示例使用了一個簡單的表單,包含一個上傳按鈕和一個存放進度條的DIV。在表單提交時調(diào)用了SWFUpload上傳的接口,在實例化SWFUpload的時候為SWFUpload對象傳遞了一個參數(shù)對象,包括多個上傳的屬性和事件處理器。其中upload_completed_handler是在文件上傳完成之后處理代碼的函數(shù),upload_error_handler是在上傳過程中出現(xiàn)錯誤時處理代碼的函數(shù),upload_start_handler是在文件開始上傳前處理代碼的函數(shù),upload_progress_handler是在文件上傳過程中處理代碼的函數(shù),而file_queued_handler則是在文件隊列中插入新文件時的處理函數(shù)。
除了前端顯示界面的編寫,后端的PHP代碼也非常重要。下面是一個簡單的上傳文件處理的PHP示例:
<?php
$file_name = $_FILES['Filedata']['name'];
$file_size = $_FILES['Filedata']['size'];
$file_type = $_FILES['Filedata']['type'];
$file_tmp = $_FILES['Filedata']['tmp_name'];
//各種錯誤處理,包括文件大小與類型校驗等,此處不再贅述
$file_url = '/file/' . $file_name;
if (move_uploaded_file($file_tmp, $file_url)) {
//文件上傳成功
}else {
//文件上傳失敗
}
?>
上面的代碼中變量$file_name、$file_size、$file_type和$file_tmp分別是上傳文件的名稱、大小、類型和上傳臨時路徑。在進行文件上傳前需要對上述變量進行各種異常錯誤處理,如文件大小的校驗、文件類型的檢測和是否存在的判斷等。最后如果檢驗暨處理順利通過后則將文件移動到指定的保存目錄中,從而完成文件的上傳操作。
以上就是一個基于PHP環(huán)境的SWFUpload上傳示例,我們可以根據(jù)自己的需求進行一些擴展和改進,以實現(xiàn)更復雜和實用的功能。希望本文對球友們在進行SWFUpload上傳時有所幫助。