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 相关文章推荐
超级简单的发送邮件程序
Oct 09 PHP
Win2003服务器安全加固设置--进一步提高服务器安全性
May 23 PHP
php 操作数组(合并,拆分,追加,查找,删除等)
Jul 20 PHP
php简单浏览目录内容的实现代码
Jun 07 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
Nov 14 PHP
PHP多维数组遍历方法(2种实现方法)
Dec 10 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
Dec 31 PHP
php $_SESSION会员登录实例分享
Jan 19 PHP
PHP使用ActiveMQ实例
Feb 05 PHP
详解PHP 7.4 中数组延展操作符语法知识点
Jul 19 PHP
Laravel基础_关于view共享数据的示例讲解
Oct 14 PHP
goto语法在PHP中的使用教程
Sep 17 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&amp;mysql(五)
2006/10/09 PHP
Zend Guard一些常见问题解答
2008/09/11 PHP
WIFI万能钥匙密码查询接口实例
2015/09/28 PHP
Yii实现微信公众号场景二维码的方法实例
2020/08/30 PHP
JavaScript 克隆数组最简单的方法
2009/02/12 Javascript
前端开发过程中浏览器版本的两种判定方法
2013/10/30 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
2013/11/23 Javascript
jquery如何扑捉回车键触发的事件
2014/04/24 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
JS+CSS实现大气的黑色首页导航菜单效果代码
2015/09/10 Javascript
js插件dropload上拉下滑加载数据实例解析
2016/07/27 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
2016/08/31 Javascript
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
vue插件tab选项卡使用小结
2016/10/27 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
2016/12/26 Javascript
switchery按钮的使用方法
2017/12/18 Javascript
微信小程序停止其他视频播放当前视频的实例代码
2019/12/25 Javascript
[02:22]2018DOTA2亚洲邀请赛VG赛前采访
2018/04/03 DOTA
Python2实现的LED大数字显示效果示例
2017/09/04 Python
Python基本语法之运算符功能与用法详解
2019/10/22 Python
python nohup 实现远程运行不宕机操作
2020/04/16 Python
Python性能分析工具py-spy原理用法解析
2020/07/27 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
css3实现小箭头各种图形效果
2020/07/08 HTML / CSS
英国复古皮包品牌:Beara Beara
2018/07/18 全球购物
Amara德国:家居饰品、设计师品牌和豪华礼品
2019/05/20 全球购物
Hotels.com日本:国外和海外住宿,酒店预订
2019/12/13 全球购物
应届生污水处理求职信
2013/11/06 职场文书
关于期中考试的反思
2014/02/02 职场文书
本科毕业生求职自荐信
2014/02/03 职场文书
奥巴马经典演讲稿
2014/09/13 职场文书
幼儿园见习报告范文
2014/10/30 职场文书
上诉答辩状范文
2015/05/22 职场文书
深入理解 Golang 的字符串
2022/05/04 Golang
ant design charts 获取后端接口数据展示
2022/05/25 Javascript