• php上传文件,创建递归目录


    <?php

    $uid=$_REQUEST['uid'];

    $avatar = 'D:/avic/discuz/uc_server/data/avatar/'.get_avatar($uid, $size, $type);
    $dir=dirname($avatar);

    //创建目录成功后移动临时文件
    if(mkdirs($dir)){
      if($_FILES["pic"]["error"] >= 0){
        if(move_uploaded_file($_FILES['pic']['tmp_name'],$avatar)){
          $errorcode=1;
        }else{
          $errorcode=0;
          $errormsg="文件移动失败";
        }
      }else{
        $errorcode=0;
        $errormsg=$_FILES['pic']['error'];
      }
    }
    $back=array("errorcode"=>$errorcode,'errormsg'=>$errormsg);
    echo json_encode($back);

    //返回图片要存储的路径
    function get_avatar($uid, $size = 'middle', $type = '') {
      $size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
      $uid = abs(intval($uid));
      $uid = sprintf("%09d", $uid);
      $dir1 = substr($uid, 0, 3);
      $dir2 = substr($uid, 3, 2);
      $dir3 = substr($uid, 5, 2);
      $typeadd = $type == 'real' ? '_real' : '';
      return $dir1.'/'.$dir2.'/'.$dir3.'/'.substr($uid, -2).$typeadd."_avatar_$size.jpg";
    }
    //递归创建目录,若传的$dir不是绝对路径,则会和运行此方法的目录同级
    function mkdirs($dir){
      if(!is_dir($dir)){
        if(!mkdirs(dirname($dir))){
          return false;
        }
       if(!mkdir($dir,0777)){
          return false;
        }
       }
    return true;
    }
    ?>

  • 相关阅读:
    《程序员你伤不起》读书总结
    03SpringBoot用JdbcTemplates访问Mysql
    02Spring Boot配置文件详解
    01构建第一个SpringBoot工程
    java基础-04泛型
    java集合-HashSet源码解析
    java集合-HashMap源码解析
    java基础-03基本语法
    java基础-02数据类型
    java基础-01基本概念
  • 原文地址:https://www.cnblogs.com/efan/p/3376479.html
Copyright © 2020-2023  润新知