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 空格,换行,跳格使用说明
Dec 18 PHP
探讨file_get_contents与curl效率及稳定性的分析
Jun 06 PHP
PHP CURL 内存泄露问题解决方法
Feb 12 PHP
CodeIgniter删除和设置Cookie的方法
Apr 07 PHP
php将远程图片保存到本地服务器的实现代码
Aug 03 PHP
十大使用PHP框架的理由
Sep 26 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
Jun 16 PHP
form自动提交实例讲解
Jul 10 PHP
swoole和websocket简单聊天室开发
Nov 18 PHP
Laravel5.5以下版本中如何自定义日志行为详解
Aug 01 PHP
Laravel5.1 框架表单验证操作实例详解
Jan 07 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 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的几个常用数字判断函数代码
2012/04/24 PHP
ThinkPHP登录功能的实现方法
2014/08/20 PHP
PHP读取CURL模拟登录时生成Cookie文件的方法
2014/11/04 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
PHP __call()方法实现委托示例
2019/05/20 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
Thinkphp 框架扩展之行为扩展原理与实现方法分析
2020/04/23 PHP
PHP数组与字符串互相转换实例
2020/05/05 PHP
javascript中的关于类型转换的性能优化
2010/12/14 Javascript
40款非常棒的jQuery 插件和制作教程(系列一)
2011/10/26 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
jquery获取一个元素下面相同子元素的个数代码
2014/07/31 Javascript
jquery实现表格本地排序的方法
2015/03/11 Javascript
js实现点击按钮后给Div图层设置随机背景颜色的方法
2015/05/06 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
JavaScript中${pageContext.request.contextPath}取值问题及解决方案
2016/12/08 Javascript
使用ionic切换页面卡顿的解决方法
2016/12/16 Javascript
xmlplus组件设计系列之选项卡(Tabbar)(5)
2017/05/03 Javascript
vue项目中使用ueditor的实例讲解
2018/03/05 Javascript
JavaScript实现一个简易的计算器实例代码
2018/05/10 Javascript
Angularjs实现页面模板清除的方法
2018/07/20 Javascript
el-select 下拉框多选实现全选的实现
2019/08/02 Javascript
利用JS代码自动删除稿件的普通弹幕功能
2019/09/20 Javascript
微信小程序如何通过用户授权获取手机号(getPhoneNumber)
2020/01/21 Javascript
Vue触发input选取文件点击事件操作
2020/08/07 Javascript
介绍Python的Urllib库的一些高级用法
2015/04/30 Python
详解Python函数式编程—高阶函数
2019/03/29 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
python如何遍历指定路径下所有文件(按按照时间区间检索)
2020/09/14 Python
python关于倒排列的知识点总结
2020/10/13 Python
基于python实现百度语音识别和图灵对话
2020/11/02 Python
利用python为PostgreSQL的表自动添加分区
2021/01/18 Python
会计电算化专业毕业生自荐信
2013/12/20 职场文书
大学生村官任职感言
2014/01/09 职场文书
小学生校园广播稿
2014/09/28 职场文书
Django程序的优化技巧
2021/04/29 Python