多文件上传

原创 2006年06月13日 20:32:00
CODE
<?php
// In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
// of $_FILES.

$uploaddir = './pic/';
$MAX_SIZE = 5000000;
$FILE_MIMES = array('image/jpeg','image/jpg','image/gif'
,'image/png','application/msword');

$FILE_EXTS = array('.zip','.jpg','.png','.gif','.rar');

$DELETABLE = true;

//下一部就是设置浏览器访问变量及目录访问变量:
$site_name = $_SERVER['HTTP_HOST'];
$url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
$url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

$upload_dir = "files/";
//$upload_url = $url_dir./files/;
$message ="";

/*
print "<pre>";


if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
   print "File is valid, and was successfully uploaded. ";
   print "Here's some more debugging info:/n";
   print_r($_FILES);
} else {
   print "Possible file upload attack!  Here's some debugging info:/n";
   print_r($_FILES);
}


print "</pre>";
*/
?>


<?php

function reArrayFiles(&$file_post) {

  $file_ary = array();
  $file_count = count($file_post['name']);
  $file_keys = array_keys($file_post);

  for ($i=0; $i<$file_count; $i++) {
      foreach ($file_keys as $key) {
          $file_ary[$i][$key] = $file_post[$key][$i];
      }
  }

  return $file_ary;
}


print "<pre>";

if ($_FILES['userfile']) {
  $file_ary = reArrayFiles($_FILES['userfile']);

  foreach ($file_ary as $file) {
/*       print 'File Name: ' . $file['name']."<br>";
      print 'File Type: ' . $file['type']."<br>";
      print 'File Size: ' . $file['size']."<br>";
*/
    $uploadfile = $uploaddir . $file['name'];

$file_type = $file['type'];
$file_name = $file['name'];
$file_ext = strtolower(substr($file_name,strrpos($file_name,".")));

if($file['size']>$MAX_SIZE){
$message =" The file size is over 5MB.";
echo $message;
//File Type/Extension Check
}else if(!in_array($file_ext,$FILE_EXTS)){
$message =" <br>Sorry, $file_name($file_type) is not allowed to be uploaded.";
echo $message;
}else{
 if (copy($file['tmp_name'], $uploadfile)) {
  print "上传成功: $uploadfile";
//   print "<br>Here's some more debugging info:/n";
  unlink($file['tmp_name']);
//   print_r($_FILES);
 } else {
  print "上传失败/n";
//   print_r($_FILES);
 }
}

  }
}

print "</pre>";

exit;
?>

<?php
$file_count = count($_FILES['userfile']['name']);
echo "<br>".$file_count." files<br>";

for($x=0;$x<$file_count;$x++){
 print 'File Name: ' . $_FILES['userfile']['name'][$x].'<br>';
}
?>
<form enctype="multipart/form-data" action="up.php" method="post">
Send this file: <input name="userfile[]" type="file" /><br>
Send this file: <input name="userfile[]" type="file" /><br>
Send this file: <input name="userfile[]" type="file" /><br>
<input type="submit" value="Send File" />
</form>

相关文章推荐

ajaxfileupload多文件上传

  • 2017年10月20日 13:28
  • 4KB
  • 下载

swfupload实现多文件上传Demo

  • 2017年09月09日 17:07
  • 1.09MB
  • 下载

JQuery的Uploadify实现多文件上传

JQuery的Uploadify实现多文件上传,支持限制文件大小等,最基本的jsp+servlet方式。...

flex多文件上传

  • 2015年06月04日 10:19
  • 8.12MB
  • 下载

java多文件上传

  • 2015年06月03日 11:15
  • 39KB
  • 下载

multiple file upload 多文件上传精典

Files:        var multi_selector = new MultiSelector( document.getElementById( 'files_list' ), 3 ); ...

SwfUPload实现多文件上传

  • 2013年05月18日 23:50
  • 1.05MB
  • 下载

Sliverlight多文件上传

  • 2013年11月22日 15:12
  • 540KB
  • 下载

SpringMVC实现多文件上传+bootstrap fileinput的使用

最近时间空余,总结了一些关于bootstrap fileinput组件的一些常见用法,特此分享到脚本之家平台,供大家参考,同时也方便以后的查找。本文写的不好还请见谅。 一、效果展示 1、原始的in...

多文件上传

  • 2013年06月18日 10:21
  • 80KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:多文件上传
举报原因:
原因补充:

(最多只允许输入30个字)