PHP 批量上传 源代码


#####################################################################################
<?php
header("content-type:text/html;charset=utf-8");
date_default_timezone_set("Asia/ShangHai");
function mk_dir($dir,$mode=0755){
 if(is_dir($dir)||@mkdir($dir,$mode))return true;
 if(!mk_dir(dirname($dir),$mode))return false;
 return @mkdir($dir,$mode);
}
define('UPLOAD_PHOTO_SIZE',200000);
$file_type=array('image/gif','image/jpeg','image/pjpeg','image/png','image/jpg','image/bmp');

$opt=$_REQUEST['opt'];
if($opt=="upload")
 {
 $AllFile=$_FILES['allfiles'];               //取得上传文件的相关信息,从上传控件里
   $FilePath=$_REQUEST['FilePath'];      //取得上传时自己设定的跟路径
 $FileCount=$_REQUEST['CountFile'];   //取得上传时自己设定的文件个数
 $Succ=0;         //输出成功个数
   $Fail=0;         //输出失败个数
   $FailReason="";        //输出失败原因


   //检测目录是否存在
   $datepath=date('Y').'/'.date('md').'/';
    $FilePath=$FilePath.'/'.$datepath;
 if(!mk_dir($FilePath)){
  //目录写权限不够;
  echo '创建上传目录失败,请联系管理员';exit;
 }

   for($i=0;$i<$FileCount;$i++)//循环文件个数
    {
  $tmpName[$i]=$AllFile['tmp_name'][$i];  //上传文件存放的临时路径
     $Name[$i]=$AllFile['name'][$i];    //上传文件的名字likai.jpg
     $Type[$i]=$AllFile['type'][$i];    //上传文件的类型
  $FileSize[$i]=$AllFile['size'][$i];   //上传文件的大小
  $error[$i]=$AllFile['error'][$i];   //上传文件的错误信息
  $pathinfo=pathinfo($Name[$i]);              //取得图片名的后缀例如.jpg
             //对上传的文件重命名
     $newName[$i]=date("YmdHis").rand(100000,999999).$i.".".$pathinfo['extension'];

     if($FileSize[$i]>UPLOAD_PHOTO_SIZE){
   $Fail++;
      $FailReason.=$Fail."、文件".$Name[$i]."上传的失败原因:文件大小不能超过200k,请重新上传<br>";
      continue;
  }elseif(!in_array($Type[$i],$file_type)){
   $Fail++;
      $FailReason.=$Fail."、文件".$Name[$i]."上传的失败原因:文件类型不匹配,只允许上传jpg,gif,png,bmp<br>";
      continue;
  }elseif($error[$i]!=0){
   switch($error[$i]){
    case 1:
     $error='上传文件的大小超出了约定值';
     break;
    case 2:
     $error='上传文件大小超出了HTML表单MAX_FILE_SIZE元素所指定的最大值';
     break;
    case 3:
     $error='表示只有部分文件被上传';
     break;
    case 4:
     $error='表示没有任何文件要上传';
     break;
    case 6:
     $error='临时文件夹没有权限';
     break;
    default:break;
   }
   $Fail++;
      $FailReason.=$Fail."、文件".$Name[$i]."上传的失败原因:".$error."<br>";
      continue;
  }elseif(move_uploaded_file($tmpName[$i],$FilePath.$newName[$i]))
     {
      $Succ++;
     }
  else
     {
      $Fail++;
      $FailReason.=$Fail."、文件".$Name[$i]."上传的失败原因:未知错误<br>";
     }

    }
 ?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值