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;
}
?>
php上传文件,创建递归目录的更多相关文章
- egg.js 通过 form 和 ajax 两种方式上传文件并自定义目录和文件名
		
egg.js 通过 form 和 ajax 两种方式上传文件并自定义目录和文件名 评论:10 · 阅读:8437· 喜欢:0 一.需求 二.CSRF 校验 三.通过 form 表单上传文件 四.通过 ...
 - SpringBoot项目打成jar包后上传文件到服务器 目录与jar包同级问题
		
看标题好像很简单的样子,但是针对使用jar包发布SpringBoot项目就不一样了.当你使用tomcat发布项目的时候,上传文件存放会变得非常简单,因为你可以随意操作项目路径下的资源.但是当你使用Sp ...
 - AWS S3 递归上传文件和递归下载文件, 以及S3之间拷贝文件夹
		
1. 递归上传文件: aws s3 cp 本地文件夹 s3://bucket-name -- recursive --region us-east-1 2. 递归下载S3上的文件夹: cd 本地下载 ...
 - bbs项目富文本编辑器实现上传文件到media目录
		
media目录是在project的settings中设置的,static目录是django自己使用的静态文件的上传目录,media目录是用户自定义上传文件的目录 # Django用户上传的文件都放在m ...
 - jquery.ocupload上传文件到指定目录
		
首先引入两个js <script type="text/javascript" src="${pageContext.request.contextPath }/r ...
 - java上传文件获取跟目录的办法
		
在java中获得文件的路径在我们做上传文件操作时是不可避免的.web 上运行1:this.getClass().getClassLoader().getResource("/"). ...
 - IIS ASP.NET MVC 上传文件到NAS目录
		
项目要求,网站用户上传的文件,存储到服务器挂接的NAS磁盘里,死活也写不进去,一直提示 System.IO.IOException: 指定的服务器无法运行请求的操作 阿里的客服也问过了, 一群只知道发 ...
 - Wordpress上传文件 “无法建立目录wp-content/uploads/2018/25。有没有上级目录的写权限?”
		
可能的原因有两个: wp-content/uploads 文件夹权限所限制 解决方法:修改wp-content/uploads 文件夹权限,可以借助ftp等工具: wp_options表中upload ...
 - linux 软连接方式实现上传文件存储目录的无缝迁移
		
背景: 由于前期的磁盘空间规划与后期的业务要求不符合.原先/home被用于用户上传文件的存储目录,但是由于上传文件的逐渐增多,而原来的/home目录的空间不足,需要给/home目录进行扩容.同时各个应 ...
 - Springboot上传文件临时目录无效
		
一个奇葩问题,虽然解决了,但还是没弄清楚,小记一笔. 年后回来,测试人员对年前的3次迭代的功能进行了回归测试,然后发现所有excel导入的功能都失效了.作为后台开发人员,当然是第一时间打开运行日志排查 ...
 
随机推荐
- [LeetCode]题解(python):108-Convert Sorted Array to Binary Search Tree
			
题目来源: https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/ 题意分析: 给出一个排好序的数组,根据这 ...
 - Git merge local repository
			
I've met this problem for so many times and let me write a blog for solving this problem. First, you ...
 - django FileFIeld和ImageField 上传路径改写
			
def get_file_path(instance, filename): return 'file/document/%s/%s/%s' % (instance.period.code, inst ...
 - 25_Downloading An Image
			
一个App,从网上下载一张图片(给出图片地址),重新命名,然后保存到手机中,再从手机中取出显示在屏幕上. 难度不大,就是找图片很蛋疼,百度搜索出来的过一会儿会失效,Google搜索出来的有些需要FQ, ...
 - Delphi程序自删除的几种方法
			
program Project1; uses SysUtils, windows; var f:textfile; a:string; begin a:=paramstr(); assignfile( ...
 - TreeView控件例子
			
XmL文件代码: <?xml version="1.0" encoding="utf-8" ?> <Area> <Province ...
 - 转载Spring IntrospectorCleanupListener
			
"在服务器运行过程中,Spring不停的运行的计划任务和OpenSessionInViewFilter,使得Tomcat反复加载对象而产生框架并用时可能产生的内存泄漏,则使用Introspe ...
 - Ubuntu系统下在Eclipse中使用真实手机运行调试Android应用
			
本文是在Ubuntu下已搭建好JRE+Eclipse+AndroidSDK的环境中进行的. 如果从未进行过如下的操作的话,在运行Android应用时,在设备选择器那里你的手机会显示为一大串" ...
 - Flex 事件机制
			
使用ActionScript的单击事件示例 <?xml version="1.0" encoding="utf-8"?> <s:Applica ...
 - HDU 4727 The Number Off of FFF
			
The Number Off of FFF Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...