php+flash+jQuery多图片上传源码分享
来源: 阅读:1054 次 日期:2016-08-11 16:08:06
温馨提示: 小编为您整理了“php+flash+jQuery多图片上传源码分享”,方便广大网友查阅!

这篇文章主要为大家详细介绍了php+flash+jQuery多图片上传实现源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

flash+php多图片上传的源码,测试成功,一个经典的上传源码,为什么要用flash作为上传的组件呢,其实这里不仅仅是flash,另加了jquery的技术,这样做的目的是为了更好更方便的管理图片,使用过QQ空间进行上传图片的童鞋都知道,QQ空间的上传体验度很好,而且管理我们上传的图片非常的方便,使用的技术基本上就是flash与jquery技术了。

flash+jquery是作为前端图片上传展示的,还需要与php的结合才能将图片上传到指定的目标,这里的php一共有两个文件,一个upload.php 是上传的核心代码,index.php 便是整合 flash+php+jquery 技术的结合,将提交上来的图片上传到目录 upload 下面,另外还有一个文件夹 images,这里面便是调用的 upload.swf flash文件和jquery.js文件了,技术已经实现了,剩下便是怎样跟数据库进行整合就很简单了,这里不再详解了。

效果图:

名单

关键代码:

upload.php

<?php

 $uploaddir  = 'upload/';

  $filename  = date("Ymdhis").rand(100,999);

  $uploadfile = $uploaddir . $filename.substr($_FILES['Filedata']["name"],strrpos($_FILES['Filedata']["name"],"."));

  $temploadfile = $_FILES['Filedata']['tmp_name'];

  move_uploaded_file($temploadfile , $uploadfile);

  //返回数据 在页面上js做处理

  $filedata = array(

    'result' => 'true',

   'name' => $_FILES['Filedata']["name"],

   'filepath' => $uploadfile,

   );

  echo json_encode($filedata);

  exit;

index.php

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>swfupload</title>

<script src="images/jquery.js" type="text/javascript"></script>

<script>

 /*上传错误信息提示*/

 function showmessage(message){alert(message);}

 /*显示文件名称*/

 function setfilename(ID,filename){

  ID = replaceStr(ID);

  var htmls = '<li id="'+ID+'"><p>'+filename+'</p><p class="load">0%</p></li>';

  $("#uploadPut").append(htmls);

 }

 /*显示上传进度*/

 function setfileload(ID,load){

  ID = replaceStr(ID);

  $("#"+ID+" .load").html(load);

 }

 /*返回服务上传的数据*/

 function setfilepath(ID,data){

  ID = replaceStr(ID);

  var s = eval('('+data+')');

  if(s.result=="true"){

   $("#"+ID).html("<img id='"+s.id+"' src='"+s.filepath+"'/><br/>"+s.name);

  }else{

   $("#"+ID).html(s.name+"上传失败");

  }

 }

 /*替换特殊字符*/

 function replaceStr(ID){

  var reg = new RegExp("[=,/,\,?,%,#,&,(,),!,+,-,},{,:,>,<]","g"); //创建正则RegExp对象

  var ID = ID.replace(reg,"");

  return ID;

 }

</script>

</head>

<style>

 .main{ width:610px; height:0px auto; border:1px solid #e1e1e1; font-size:12px; padding:10px;}

 .main p{ line-height:10px; width:500px; float:right; text-indent:20px;}

 .uploadPut{ width:100%; clear:both;}

 ul,li{ margin:0px; padding:0px; list-style:none}

 .uploadPut li{width:120px; padding:10px; text-align:center; border:1px solid #ccc; overflow:hidden; background-color:#e1e1e1; line-height:25px; float:left; margin:5px}

 .uploadPut img{ width:120px; height:90px;}

</style>

<body>

 <div class="main"> 

 <?php

  //获取项目跟路径

 $baseURL = 'http://' . $_SERVER ['SERVER_NAME'] . (($_SERVER ['SERVER_PORT'] == 80) ? '' : ':' . $_SERVER ['SERVER_PORT']) . ((($path = str_ireplace('\\', '/', dirname ( $_SERVER ['SCRIPT_NAME'] ))) == '/') ? '' : $path);

 //设置swfupload参数

   $flashvars = 'uploadURL=' . urlencode($baseURL . '/upload.php');   #上传提交地址

   $flashvars.= '&buttonImageURL=' . urlencode($baseURL . '/images/upload.png');   #按钮背景图片

   $flashvars.= '&btnWidth=95';                #按钮宽度

   $flashvars.= '&btnHeight=35';                #按钮高度

   $flashvars.= '&fileNumber=20';                #每次最多上传20个文件

   $flashvars.= '&fileSize=200';            #单个文件上传大小为20M

   $flashvars.= '&bgColor=#ffffff';               #背景颜色

   $flashvars.= '&fileTypesDescription=Images';            #选择文件类型

   $flashvars.= '&fileType=*.jpg;*.png;*.gif;*.jpeg';           #选择文件后缀名 

  ?>

    <object style="float: left;" width="95" height="35" data="images/upload.swf" type="application/x-shockwave-flash">

    <param value="transparent" name="wmode">

    <param value="images/upload.swf" name="movie">

    <param value="high" name="quality">

    <param value="false" name="menu">

    <param value="always" name="allowScriptAccess">

    <param value="<?php echo $flashvars;?>" name="flashvars">

    </object>

    <p>允许上传格式 JPG, GIF, JEPG, PNG ,每个文件不超过20MB,一次可上传多20张!</p>

  <div class="uploadPut">

   <ul id="uploadPut">

   </ul>

   <div style="clear: both;"></div>

  </div>

 </div>

</body>

</html>

其实这种组合的上传技术在许多大型的网站上面都有,更多的是应用在图片的管理上面,比如 51 空间的图片管理,基本功能都是类似的,重要的一定要学习一下 flash 与 php 之间的通信技术,在大型的开发中,这种技术会经常出现的。

以上就是本文的全部内容,希望对大家的学习有所帮助

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map