欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

swfupload 批量上传源码

程序员文章站 2022-06-01 16:18:17
...

1. [代码][PHP]代码

//首先  准备 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 : "pFileProgressContainer"
    },
    
    // Debug Settings
    debug: false
   });
  };
 </script>
</head>
<body>
<h2>最多上传5张图片<h2>
 <form>
  <p style="width: 200px; height: 18px; border: solid 1px #7FAAFF; background-color: #C5D9FF; padding: 2px;">
   <span id="spanButtonPlaceholder"></span>
  </p>
 </form>
 <p id="pFileProgressContainer" style="height: 75px;"></p>
 <p id="thumbnails" style='width:500px;border:1px solid lime;padding-left:20px'></p>
</p>
<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 (!@imagefilledrectangle($new_img, 0, 0, $target_width-1, $target_height-1, 0)) { // Fill the image black
  echo "ERROR:Could not fill new image";
  exit(0);
 }

 if (!@imagecopyresampled($new_img, $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
 
?>