PHP创建多级目录并上传文件

来源:互联网 发布:淘宝流量 编辑:程序博客网 时间:2024/04/29 06:07
/*
函数功能:上传文件
参数描述:$files_name-文件域名称;
   $upload_dir-上传目录;
   $max_size-大小限制,以M为单位,默认值为0;
   URL:http://blog.csdn.net/yacsha
*/
function upload_file($files_name,$upload_dir,$max_size){
 $array_dir=explode("/",$upload_dir);//把多级目录分别放到数组中
 for($i=0;$i<count($array_dir);$i++){
  $path .= $array_dir[$i]."/";
  if(!file_exists($path)){
   mkdir($path);
  }
 }
 
 $max_size*=1024000;//把充许上传最大容量的单位转换成M
 $files_ext=array('.gif','.jpg','.jpeg');//充许上传的文件格式
 $files_size=$_FILES[$files_name]['size'];
 $files_name=$_FILES[$files_name]['name'];
 $file_ext=substr($files_name,strrpos($files_name,"."));//取出文件后缀名,strrpos()从标记开始前字节个数(不算标记),substr()显示从第strrpos()之后的字符
 $file_ext=strtolower($file_ext);
 if($files_size>$max_size){//检查文件大小
  exit("文件大小不能走超过".$max_size."M!");
 }
 if(in_array($file_ext, $files_ext)){//检查文件类型
  $files_name=date("YmdHis").rand().$file_ext;
  $upload_file = $upload_dir. $files_name;//上传后文件的路径及文件名
  if (move_uploaded_file($_FILES['vidio_files']['tmp_name'], $upload_file)) {
   exit('上传成功!');
  } else {
   print "上传错误! 以下是上传的信息:/n";
   print_r($_FILES);
  }
 }else{
  exit($file_ext." 不是允许上传的文件类型,只允许上传.gif,.jpg,.jpeg!");
 }