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 09 PHP
PHP中for循环语句的几种变型
Nov 26 PHP
PHP 开发环境配置(测试开发环境)
Apr 28 PHP
php 输出双引号&quot;与单引号'的方法
May 09 PHP
php 错误处理经验分享
Oct 11 PHP
php中通过curl smtp发送邮件
Jun 05 PHP
php 删除目录下N分钟前创建的所有文件的实现代码
Aug 10 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
Mar 25 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
Oct 31 PHP
浅谈php中urlencode与rawurlencode的区别
Sep 05 PHP
PHP实现在数据库百万条数据中随机获取20条记录的方法
Apr 19 PHP
PHP标准库(PHP SPL)详解
Mar 16 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 XML数据解析代码
2010/05/26 PHP
php简单判断文本编码的方法
2015/07/30 PHP
PHP对象相关知识总结
2017/04/09 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
2017/06/07 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
php实现微信支付之现金红包
2018/05/30 PHP
jquery ready函数源代码研究
2009/12/06 Javascript
javascript 鼠标悬浮图片显示原图 移出鼠标后原图消失(多图)
2009/12/28 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
js实现幻灯片播放图片示例代码
2013/11/07 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
2015/02/27 Javascript
jquery实现垂直和水平菜单导航栏
2020/08/27 Javascript
js实现浏览器倒计时跳转页面效果
2016/08/12 Javascript
浅析Javascript的自动分号插入(ASI)机制
2016/09/29 Javascript
关于JS Lodop打印插件打印Bootstrap样式错乱问题的解决方案
2016/12/23 Javascript
详解vue 配合vue-resource调用接口获取数据
2017/06/22 Javascript
基于webpack-hot-middleware热加载相关错误的解决方法
2018/02/22 Javascript
微信小程序实现的绘制table表格功能示例
2019/04/26 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
微信小程序批量上传图片到七牛(推荐)
2019/12/19 Javascript
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
python之pandas用法大全
2018/03/13 Python
Python3.7 新特性之dataclass装饰器
2019/05/27 Python
Python模块的制作方法实例分析
2019/12/21 Python
如何通过Python3和ssl实现加密通信功能
2020/05/09 Python
区分python中的进程与线程
2020/08/13 Python
Html5 滚动穿透的方法
2019/05/13 HTML / CSS
最新个人职业生涯规划书
2014/01/22 职场文书
趣味活动策划方案
2014/02/08 职场文书
计算机软件专业求职信
2014/06/10 职场文书
超市创意活动方案
2014/08/15 职场文书
后备干部推荐材料
2014/12/24 职场文书
2015年建党94周年演讲稿
2015/03/19 职场文书
Python爬虫之爬取某文库文档数据
2021/04/21 Python
JUnit5常用注解的使用
2021/07/02 Java/Android