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 session机制
Jul 17 PHP
遭遇php的in_array低性能问题
Sep 17 PHP
PHP 验证码不显示只有一个小红叉的解决方法
Sep 30 PHP
php防止SQL注入详解及防范
Nov 12 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
Nov 03 PHP
PHP+MySQL修改记录的方法
Jan 21 PHP
Yii使用Captcha验证码的方法
Dec 28 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
Apr 02 PHP
php的PDO事务处理机制实例分析
Feb 16 PHP
PHP如何根据文件头检测文件类型实例代码
Oct 14 PHP
详解PHP素材图片上传、下载功能
Apr 12 PHP
php传值和传引用的区别点总结
Nov 19 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更改目录及子目录下所有的文件后缀的代码
2010/09/24 PHP
如何使用php判断服务器是否是HTTPS连接
2013/07/05 PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
2018/03/12 PHP
JS动画效果代码3
2008/04/03 Javascript
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
CCPry JS类库 代码
2009/10/30 Javascript
location.href 在IE6中不跳转的解决方法与推荐使用代码
2010/07/08 Javascript
js正文内容高亮效果的实现方法
2013/06/30 Javascript
解析dom中的children对象数组元素firstChild,lastChild的使用
2013/07/10 Javascript
跟我学习javascript创建对象(类)的8种方法
2015/11/20 Javascript
详解JavaScript的变量和数据类型
2015/11/27 Javascript
基于jquery实现的银行卡号每隔4位自动插入空格的实现代码
2016/11/22 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
2017/08/25 Javascript
VUE element-ui 写个复用Table组件的示例代码
2017/11/18 Javascript
Vue 后台管理类项目兼容IE9+的方法示例
2019/02/20 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
JavaScript异步操作的几种常见处理方法实例总结
2020/05/11 Javascript
用Angular实现一个扫雷的游戏示例
2020/05/15 Javascript
纯JS实现五子棋游戏
2020/05/28 Javascript
python多线程用法实例详解
2015/01/15 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
python3 kmp 字符串匹配的方法
2018/07/07 Python
Python tkinter实现图片标注功能(完整代码)
2019/12/08 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
2020/03/18 Python
CSS3实现DIV圆角效果完整代码
2012/10/10 HTML / CSS
实例讲解CSS3中的border-radius属性
2015/08/18 HTML / CSS
web页面录屏实现
2019/02/12 HTML / CSS
追悼会主持词
2014/03/20 职场文书
电大毕业个人生自我鉴定
2014/03/26 职场文书
企业安全生产承诺书
2014/05/22 职场文书
高中学生自我评价范文
2014/09/23 职场文书
优秀学生干部事迹材料
2014/12/24 职场文书
节约用电倡议书
2015/04/28 职场文书
六一文艺汇演主持词
2015/06/30 职场文书
周一给客户的问候语
2015/11/10 职场文书
Java中使用Filter过滤器的方法
2021/06/28 Java/Android