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 相关文章推荐
第1次亲密接触PHP5(1)
Oct 09 PHP
PHP 解决utf-8和gb2312编码转换问题
Mar 18 PHP
10条PHP高级技巧[修正版]
Aug 02 PHP
PHP自定义大小验证码的方法详解
Jun 07 PHP
PHP在网页中动态生成PDF文件详细教程
Jul 05 PHP
ThinkPHP中自定义错误页面和提示页面实例
Nov 22 PHP
基于Swoole实现PHP与websocket聊天室
Aug 03 PHP
php自定义截取中文字符串-utf8版
Feb 27 PHP
完美解决Thinkphp3.2中插入相同数据的问题
Aug 01 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 PHP
关于Laravel-admin的基础用法总结和自定义model详解
Oct 08 PHP
laravel入门知识点整理
Sep 15 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日历程序
2006/12/06 PHP
php Try Catch异常测试
2009/03/01 PHP
php中读写文件与读写数据库的效率比较分享
2013/10/19 PHP
PHP简单选择排序算法实例
2015/01/26 PHP
PHP魔术方法使用方法汇总
2016/02/14 PHP
thinkphp3.2.3版本的数据库增删改查实现代码
2016/09/22 PHP
实例讲解通过​PHP创建数据库
2019/01/20 PHP
javascript 写的一个简单的timer
2009/07/30 Javascript
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
Javascript读取cookie函数代码
2010/10/16 Javascript
JavaScript高级程序设计 阅读笔记(四) ECMAScript中的类型转换
2012/02/27 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
node.js中的fs.truncateSync方法使用说明
2014/12/15 Javascript
js表单验证实例讲解
2016/03/31 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
2016/11/21 Javascript
Nodejs进阶:express+session实现简易登录身份认证
2017/04/24 NodeJs
浅谈Webpack 是如何加载模块的
2018/05/24 Javascript
使用Javascript简单计算器
2018/11/17 Javascript
微信公众号H5支付接口调用方法
2019/01/10 Javascript
layer ui插件显示tips时,修改字体颜色的实现方法
2019/09/11 Javascript
微信小程序转发事件实现解析
2019/10/22 Javascript
js实现圆形显示鼠标单击位置
2020/02/11 Javascript
Javascript实现关闭广告效果
2021/01/29 Javascript
Python中encode()方法的使用简介
2015/05/18 Python
Python爬取APP下载链接的实现方法
2016/09/30 Python
Python Django实现layui风格+django分页功能的例子
2019/08/29 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
python绘制分布折线图的示例
2020/09/24 Python
完美解决Pycharm中matplotlib画图中文乱码问题
2021/01/11 Python
Java面试题:Java类的Main方法如果是Private将会怎么样
2016/08/18 面试题
顶碗少年教学反思
2014/02/21 职场文书
行政部岗位职责范本
2014/03/13 职场文书
文明和谐家庭事迹材料
2014/05/18 职场文书
2015年幼儿园元旦亲子活动方案
2014/12/09 职场文书
员工评语范文
2014/12/31 职场文书
纯CSS实现一个简单步骤条的示例代码
2022/07/15 HTML / CSS