php上传文件,创建递归目录的实例代码


Posted in PHP onOctober 18, 2013
<?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 相关文章推荐
用PHP和ACCESS写聊天室(一)
Oct 09 PHP
php中cookie的作用域
Mar 27 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
Nov 27 PHP
PHP逐行输出(ob_flush与flush的组合)
Feb 04 PHP
ajax php传递和接收变量实现思路及代码
Dec 19 PHP
destoon切换城市后实现logo旁边显示地区名称的方法
Aug 21 PHP
php操作memcache缓存方法分享
Jun 03 PHP
php冒泡排序与快速排序实例详解
Dec 07 PHP
php使用parse_str实现查询字符串解析到变量中的方法
Feb 17 PHP
thinkPHP5.0框架简单配置作用域的方法
Mar 17 PHP
YII框架中使用memcache的方法详解
Aug 02 PHP
Smarty模板配置实例简析
Jul 20 PHP
php用户注册页面利用js进行表单验证具体实例
Oct 17 #PHP
10 个经典PHP函数
Oct 17 #PHP
php中怎么搜索相关联数组键值及获取之
Oct 17 #PHP
php class类的用法详细总结
Oct 17 #PHP
div li的多行多列 无刷新分页示例代码
Oct 16 #PHP
无刷新动态加载数据 滚动条加载适合评论等页面
Oct 16 #PHP
PHP字符串长度计算 - strlen()函数使用介绍
Oct 15 #PHP
You might like
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
2013/07/03 PHP
PHP将HTML转换成文本的实现代码
2015/01/21 PHP
js实现的网页颜色代码表全集
2007/07/17 Javascript
IE 上下滚动展示模仿Marquee机制
2009/12/20 Javascript
javascript开发技术大全 第4章 直接量与字符集
2011/07/03 Javascript
同域jQuery(跨)iframe操作DOM(实例讲解)
2013/12/19 Javascript
JavaScript简介
2015/02/15 Javascript
node.js调用C++开发的模块实例
2015/07/03 Javascript
jQuery实现MSN中文网滑动Tab菜单效果代码
2015/09/09 Javascript
基于JavaScript操作DOM常用的API小结
2015/12/01 Javascript
基于Javascript实现文件实时加载进度的方法
2016/10/12 Javascript
jQuery学习笔记之入门
2016/12/14 Javascript
js 获取图像缩放后的实际宽高,位置等信息
2017/03/07 Javascript
ES6新特性六:promise对象实例详解
2017/04/21 Javascript
Vue网页html转换PDF(最低兼容ie10)的思路详解
2017/08/24 Javascript
基于JS实现计算24点算法代码实例解析
2020/07/23 Javascript
vue实现移动端拖动排序
2020/08/21 Javascript
Vue3 响应式侦听与计算的实现
2020/11/11 Javascript
各个系统下的Python解释器相关安装方法
2015/10/12 Python
PyQt5每天必学之关闭窗口
2018/04/19 Python
python单例模式获取IP代理的方法详解
2018/09/13 Python
关于python导入模块import与常见的模块详解
2019/08/28 Python
python 贪心算法的实现
2020/09/18 Python
HTML5的结构和语义(5):交互
2008/10/17 HTML / CSS
HTML5 History API 实现无刷新跳转
2016/01/11 HTML / CSS
NEW LOOK官网:英国时装零售巨头之一,快时尚品牌
2017/01/11 全球购物
为有想象力的人提供的生活方式商店:Firebox
2018/06/04 全球购物
Oakley西班牙官方商店:太阳眼镜和男女运动服
2019/04/26 全球购物
雷蛇美国官网:Razer
2020/04/03 全球购物
如何查找和删除数据库中的重复数据
2014/11/05 面试题
师范生教师实习自我鉴定
2013/09/27 职场文书
物业总经理岗位职责
2014/02/28 职场文书
技校毕业生自荐书
2014/05/23 职场文书
大学运动会加油稿200字(5篇)
2014/09/27 职场文书
酒店仓管员岗位职责
2015/04/01 职场文书
2015年学校医务室工作总结
2015/07/20 职场文书