Heim  >  Artikel  >  Backend-Entwicklung  >  php上传文件并创建递归目录的例子

php上传文件并创建递归目录的例子

WBOY
WBOYOriginal
2016-07-25 08:57:34881Durchsuche
  1. /**

  2. * 上传文件 创建递归目录
  3. * edit:bbs.it-home.org
  4. */
  5. $uid=$_REQUEST['uid'];
  6. $avatar = 'D:/www/discuz/uc_server/data/avatar/'.get_avatar($uid, $size, $type);
  7. $dir=dirname($avatar);
  8. //创建目录成功后移动临时文件

  9. if(mkdirs($dir)){
  10.   if($_FILES["pic"]["error"] >= 0){
  11.     if(move_uploaded_file($_FILES['pic']['tmp_name'],$avatar)){
  12.       $errorcode=1;
  13.     }else{
  14.       $errorcode=0;
  15.       $errormsg="文件移动失败";
  16.     }
  17.   }else{
  18.     $errorcode=0;
  19.     $errormsg=$_FILES['pic']['error'];
  20.   }
  21. }
  22. $back=array("errorcode"=>$errorcode,'errormsg'=>$errormsg);
  23. echo json_encode($back);
  24. //返回图片要存储的路径

  25. function get_avatar($uid, $size = 'middle', $type = '') {
  26.   $size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
  27.   $uid = abs(intval($uid));
  28.   $uid = sprintf("%09d", $uid);
  29.   $dir1 = substr($uid, 0, 3);
  30.   $dir2 = substr($uid, 3, 2);
  31.   $dir3 = substr($uid, 5, 2);
  32.   $typeadd = $type == 'real' ? '_real' : '';
  33.   return $dir1.'/'.$dir2.'/'.$dir3.'/'.substr($uid, -2).$typeadd."_avatar_$size.jpg";
  34. }
  35. //递归创建目录,若传的$dir不是绝对路径,则和运行此方法的目录同级

  36. function mkdirs($dir){
  37.   if(!is_dir($dir)){
  38.     if(!mkdirs(dirname($dir))){
  39.       return false;
  40.     }
  41.    if(!mkdir($dir,0777)){
  42.       return false;
  43.     }
  44.    }
  45. return true;
  46. }
  47. ?>
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn