首页 > Other > swfupload 批量上传源码

swfupload 批量上传源码

win下的提升用户体验的图片批量上传处理 基于swfupload的上传工具

//首先 准备 swfupload 包
//前端用户体验页面
<!DOCTYPE html>
<html>
<head>
<title>SWFUpload Demos – Application Demo</title>
<link href=”./default.css” rel=”stylesheet” type=”text/css” />
<script type=”text/javascript” src=”./swfupload/swfupload.js”></script>
<script type=”text/javascript” src=”./swfupload/jquery-1.4.js”></script>
<script type=”text/javascript” src=”js/handlers.js”></script>
<script type=”text/javascript”>
$(function(){
$(‘#btn’).bind(‘click’,path);
});
function path()
{
var url=”;
$(‘#thumbnails img’).each(function(){
url=$(this).attr(‘id’)+'{#@T@#}’+url;
})
alert(url);
}
var swfu;
window.onload = function () {
swfu = new SWFUpload({
// Backend Settings
upload_url: “upload.php”,
post_params: {“PHPSESSID”: “<?php echo session_id(); ?>”},
// File Upload Settings
file_size_limit : “800”, // 2MB 最大容量限制
file_types : “*.jpg”,
file_types_description : “JPG Images”,
file_upload_limit : 5,//上传数量限制
// Event Handler Settings – these functions as defined in Handlers.js
// The handlers are not part of SWFUpload but are part of my website and control how
// my website reacts to the SWFUpload events.
swfupload_preload_handler : preLoad,
swfupload_load_failed_handler : loadFailed,
file_queue_error_handler : fileQueueError,
file_dialog_complete_handler : fileDialogComplete,
upload_progress_handler : uploadProgress,
upload_error_handler : uploadError,
upload_success_handler : uploadSuccess,
upload_complete_handler : uploadComplete,
// Button Settings
button_image_url : “images/SmallSpyGlassWithTransperancy_17x18.png”,
button_placeholder_id : “spanButtonPlaceholder”,
button_width: 200,
button_height: 18,
button_text : ‘<span class=”button”>Select Images <span class=”buttonSmall”>(800 k Max)[*.jpeg]</span></span>’,
button_text_style : ‘.button { font-family: Helvetica, Arial, sans-serif; font-size: 12pt; } .buttonSmall { font-size: 10pt; }’,
button_text_top_padding: 0,
button_text_left_padding: 18,
button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT,
button_cursor: SWFUpload.CURSOR.HAND,

// Flash Settings
flash_url : “./swfupload/swfupload.swf”,
flash9_url : “./swfupload/swfupload_FP9.swf”,
custom_settings : {
upload_target : “divFileProgressContainer”
},

// Debug Settings
debug: false
});
};
</script>
</head>
<body>
<h2>最多上传5张图片<h2>
<form>
<div style=”width: 200px; height: 18px; border: solid 1px #7FAAFF; background-color: #C5D9FF; padding: 2px;”>
<span id=”spanButtonPlaceholder”></span>
</div>
</form>
<div id=”divFileProgressContainer” style=”height: 75px;”></div>
<div id=”thumbnails” style=’width:500px;border:1px solid lime;padding-left:20px’></div>
</div>
<button id=’btn’>提交</button>
</body>
</html>
//后台处理页面 upload.php
<?php

if (isset($_POST[“PHPSESSID”])) {
session_id($_POST[“PHPSESSID”]);
}
session_start();
ini_set(“html_errors”, “0”);
// Check the upload
if (!isset($_FILES[“Filedata”]) || !is_uploaded_file($_FILES[“Filedata”][“tmp_name”]) || $_FILES[“Filedata”][“error”] != 0) {
echo “ERROR:invalid upload”;
exit(0);
}
// Get the image and create a thumbnail
$img = imagecreatefromjpeg($_FILES[“Filedata”][“tmp_name”]);
if (!$img) {
echo “ERROR:could not create image handle “. $_FILES[“Filedata”][“tmp_name”];
exit(0);
}
$width = imageSX($img);
$height = imageSY($img);
if (!$width || !$height) {
echo “ERROR:Invalid width or height”;
exit(0);
}
// Build the thumbnail
$target_width = 100;
$target_height = 100;
$target_ratio = $target_width / $target_height;
$img_ratio = $width / $height;
if ($target_ratio > $img_ratio) {
$new_height = $target_height;
$new_width = $img_ratio * $target_height;
} else {
$new_height = $target_width / $img_ratio;
$new_width = $target_width;
}
if ($new_height > $target_height) {
$new_height = $target_height;
}
if ($new_width > $target_width) {
$new_height = $target_width;
}
$new_img = ImageCreateTrueColor(100, 100);
if (!, 0, 0, $target_width-1, $target_height-1, 0)) { // Fill the image black
echo “ERROR:Could not fill new image”;
exit(0);
}
if (!, $img, ($target_width-$new_width)/2, ($target_height-$new_height)/2, 0, 0, $new_width, $new_height, $width, $height)) {
echo “ERROR:Could not resize image”;
exit(0);
}
if (!isset($_SESSION[“file_info”])) {
$_SESSION[“file_info”] = array();
}
// Use a output buffering to load the image into a variable
ob_start();
imagejpeg($new_img);
$imagevariable = ob_get_contents();
ob_end_clean();
$file_id = md5($_FILES[“Filedata”][“tmp_name”] + rand()*100000);
$_SESSION[“file_info”][$file_id] = $imagevariable;
//上传图片处理
if(!is_dir(“uploadimage”))
{
mkdir(“uploadimage”);
}
$pre_fix=md5(‘120ask120’);
move_uploaded_file($_FILES[“Filedata”][“tmp_name”],trim(“./uploadimage/”.$pre_fix.$file_id.”.jpg”));
/*图片处理结束*/
echo “FILEID:” . $file_id; // Return the file id to the script

?>

分类:Other
  1. 还没有评论。
  1. No trackbacks yet.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: