zoukankan      html  css  js  c++  java
  • 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;
    }
    ?>

  • 相关阅读:
    PermissionError: [Errno 1] Operation not permitted: '/tmp/tmpg255ml7f' -> '/tmp/jieba.cache'
    远程连接MySql
    Unity 连接MySql数据库
    Unity WIndows语音识别(一)关键字识别
    Mac M1原生(ARM64)Golang dev&debug
    记一次思考:中级开发的突破之道
    深入web workers (上)
    indexDB出坑指南(二)
    html+css展示空白类字符的技巧
    前端冷知识
  • 原文地址:https://www.cnblogs.com/efan/p/3376479.html
Copyright © 2011-2022 走看看