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超级全局变量数组小结
Oct 04 PHP
php环境下利用session防止页面重复刷新的具体实现
Jan 09 PHP
php+mysql删除指定编号员工信息的方法
Jan 14 PHP
php实现的美国50个州选择列表实例
Apr 20 PHP
PHP的Yii框架的常用日志操作总结
Dec 08 PHP
PHP编写文件多服务器同步程序
Jul 02 PHP
PHP常用的三种设计模式汇总
Aug 28 PHP
简单谈谈 php 文件锁
Feb 19 PHP
thinkPHP5.0框架命名空间详解
Mar 18 PHP
Laravel学习教程之model validation的使用示例
Oct 23 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
Dec 21 PHP
phpstudy后门rce批量利用脚本的实现
Dec 12 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/03 新手入门
php 截取字符串并以零补齐str_pad() 函数
2011/05/07 PHP
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
2011/06/30 PHP
根据中文裁减字符串函数的php代码
2013/12/03 PHP
php去除字符串换行符示例分享
2014/02/13 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
xml 与javascript结合的问题解决方法
2007/03/24 Javascript
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
JavaScript中常见获取元素的方法汇总
2015/03/04 Javascript
JavaScript实现将文本框的值插入指定位置的方法
2015/08/13 Javascript
Javascript中prototype的使用详解
2016/06/18 Javascript
javascript 面向对象function详解及实例代码
2017/02/28 Javascript
浅析Angular2子模块以及异步加载
2017/04/24 Javascript
详解webpack解惑:require的五种用法
2017/06/09 Javascript
JavaScript 中的12种循环遍历方法【总结】
2018/05/31 Javascript
JS实现checkbox互斥(单选)功能示例
2019/05/04 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
2019/07/10 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
2019/09/24 Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
2020/01/05 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
JavaScript实现单点登录的示例
2020/09/23 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
基于VUE实现简单的学生信息管理系统
2021/01/13 Vue.js
Python两台电脑实现TCP通信的方法示例
2019/05/06 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
2019/09/26 Python
tensorflow多维张量计算实例
2020/02/11 Python
Marriott中国:万豪国际酒店查询预订
2016/09/02 全球购物
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
入学申请自荐信范文
2014/02/26 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
求职自荐信该如何书写?
2019/06/24 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python
聊聊pytorch测试的时候为何要加上model.eval()
2021/05/23 Python
python中的3种定义类方法
2021/11/27 Python