> 백엔드 개발 > PHP 튜토리얼 > PHP가 파일을 업로드하고 재귀 디렉터리를 생성하는 예

PHP가 파일을 업로드하고 재귀 디렉터리를 생성하는 예

WBOY
풀어 주다: 2016-07-25 08:57:34
원래의
907명이 탐색했습니다.
  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(" d", $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. ?>

复制代码


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿