A-A+

结合jquery实现点击添加任意上传项,多文件上传脚本

2013年12月06日 PHP 暂无评论 阅读 2,198 views 次

今天在一个朋友的博客中看到“结合jquery实现点击添加任意上传项,多文件上传脚本”这样一个实用的多文件上传脚本,发现蛮有趣,于是就“偷过来”和大家一起分享哈。

php多文件上传

php多文件上传

php多文件上传

form.php


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>form</title>
<script type="text/javascript" src="./jquery/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
 $(document).ready(function(){
 $("b").click(function(){
 $('#input').append('<p><input type="file" name="myfile[]"></p>');
 });
 });
 </script>
</head>
<body>
 <form action="upload.php" method="post" enctype="multipart/form-data">
 <div id="input">
 <p><input type="hidden" name="MAX_FILE_SIZE" value="1024000000" /></p>
 <p><input type="file" name="myfile[]"></p>
 </div>
 <b>点此添加上传项</b>
 <p><input type="submit" name="submit" value="提交"></p>
 </form>
</body>
</html>

upload.php


<?php
/**
* 多文件上传脚本
*/
 header("content-type:text/html;charset=utf-8");
 $path='./upload';
 if(isset($_POST['submit']))
 {

//var_dump($_FILES);
//判断错误,增加容错能力

$error=$_FILES['myfile']['error'];
 foreach($error as $s_error)
 {
 switch($s_error)
 {
 case 1:
 case 2:
 die('对不起,您上传文件超过限制大小,<a href="./form.php">返回</a>');
 case 3:
 die('文件部分被上传<a href="./form.php">返回</a>');
 case 4:
 die('文件没有上传<a href="./form.php">返回</a>');
 }
 }

//获取图片文件的类型

$filearray=$_FILES['myfile']['name'];

//文件后缀数组

$extarray=array();

//获取每个上传文件的后缀名

for($i=0;$i<count($filearray);$i++)
 {
 $ext=strrchr($filearray[$i],'.');

//后缀压入数组

array_push($extarray,$ext);
 }

 $tempfilearray=$_FILES['myfile']['tmp_name'];

//根据上传的文件的后缀名移动生成新文件

for($i=0;$i<count($tempfilearray);$i++)
 {
 if(is_uploaded_file($tempfilearray[$i]))
 {
 if(!move_uploaded_file($tempfilearray[$i],
 $path.'/'.time().mt_rand(0,1000000).$extarray[$i]))
 {
 die("问题:不能将文件移动到指定目录");
 }
 }
 }
 echo '<script type="text/javascript" charset="utf-8">
 alert("恭喜您,文件批量上传成功");
 location.href="./form.php";
 </script>';

//跳转回上传页面
//header('location:./form.php');

}
?>

标签:

给我留言

Copyright © 严佳冬 保留所有权利.   Theme  Ality 百度地图 苏ICP备19045515号-2

用户登录

分享到: