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 相关文章推荐
PHP5 安装方法
Oct 09 PHP
PHP的栏目导航程序
Oct 09 PHP
与数据库连接
Oct 09 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
Oct 31 PHP
修改php.ini以达到屏蔽错误信息并记录日志
Jun 16 PHP
php Imagick获取图片RGB颜色值
Jul 28 PHP
php中socket通信机制实例详解
Jan 03 PHP
php实现递归的三种基本方式
Jul 04 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
Jun 15 PHP
yii2中dropDownList实现二级和三级联动写法
Apr 26 PHP
Laravel学习教程之request validation的编写
Oct 25 PHP
PHP中关于php.ini参数优化详解
Feb 28 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
如何开始收听短波广播
2021/03/01 无线电
windows环境下php配置memcache的具体操作步骤
2013/06/09 PHP
PHP图片处理之图片旋转和图片翻转实例
2014/11/19 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
自动完成的搜索框javascript实现
2016/02/26 Javascript
JQuery点击行tr实现checkBox选中的简单实例
2016/05/26 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
2017/04/01 jQuery
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
微信小程序中form 表单提交和取值实例详解
2017/04/20 Javascript
Async Validator 异步验证使用说明
2017/07/03 Javascript
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
微信小程序单选radio及多选checkbox按钮用法示例
2019/04/30 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
js实现div色块碰撞
2020/01/16 Javascript
python正则表达式re模块详解
2014/06/25 Python
Python模块、包(Package)概念与用法分析
2019/05/31 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
2019/09/06 Python
wxPython实现列表增删改查功能
2019/11/19 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
Python Selenium自动化获取页面信息的方法
2020/08/31 Python
python中time tzset()函数实例用法
2021/02/18 Python
《小猫刮胡子》教学反思
2014/02/21 职场文书
公证委托书模板
2014/04/03 职场文书
业务员自荐信范文
2014/04/20 职场文书
优秀团员事迹材料1500字
2014/08/31 职场文书
2014年四风个人对照检查及整改措施
2014/10/28 职场文书
干部考察材料范文
2014/12/24 职场文书
毕业生评语大全
2015/01/04 职场文书
收银员岗位职责
2015/02/03 职场文书
2015年公务员转正工作总结
2015/04/24 职场文书
2015年征兵工作总结
2015/07/23 职场文书
话题作文之学会尊重
2019/12/16 职场文书
导游词之青岛崂山
2019/12/27 职场文书