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自动获取字符串编码函数mb_detect_encoding
May 31 PHP
PHP include任意文件或URL介绍
Apr 29 PHP
PHP 实现判断用户是否手机访问
Jan 21 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
Jan 22 PHP
常见PHP数据库解决方案分析介绍
Sep 24 PHP
PHP生成静态HTML文档实现代码
Jun 23 PHP
Yii2验证器(Validator)用法分析
Jul 23 PHP
php 使用fopen函数创建、打开文件详解及实例代码
Sep 24 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
Oct 14 PHP
详解PHP中mb_strpos的使用
Feb 04 PHP
laravel邮件发送的实现代码示例
Jan 31 PHP
Laravel框架集合用法实例浅析
May 14 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 XPath对XML文件查找及修改实现代码
2011/07/27 PHP
基于php和mysql的简单的dao类实现crud操作功能
2014/01/27 PHP
thinkphp框架下404页面设置 仅三步
2016/05/14 PHP
js禁止小键盘输入数字功能代码
2011/08/01 Javascript
这些年、我收集的JQuery代码小结
2012/08/01 Javascript
Jquery操作下拉框(DropDownList)实现取值赋值
2013/08/13 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
2017/02/17 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
2018/02/10 Javascript
JS实现可以用键盘方向键控制的动画
2020/12/11 Javascript
Python socket编程实例详解
2015/05/27 Python
python中文分词教程之前向最大正向匹配算法详解
2017/11/02 Python
Python使用pip安装pySerial串口通讯模块
2018/04/20 Python
python爬虫实例详解
2018/06/19 Python
详解Django+Uwsgi+Nginx的生产环境部署
2018/06/25 Python
浅谈pycharm出现卡顿的解决方法
2018/12/03 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
python分布式编程实现过程解析
2019/11/08 Python
python selenium实现发送带附件的邮件代码实例
2019/12/10 Python
Python 使用 PyQt5 开发的关机小工具分享
2020/07/16 Python
Python爬虫制作翻译程序的示例代码
2021/02/22 Python
Vero Moda西班牙官方购物网站:丹麦BESTSELLER旗下知名女装品牌
2018/04/27 全球购物
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
销售部主管岗位职责
2013/12/18 职场文书
2015试用期转正工作总结
2014/12/12 职场文书
大学生操行评语大全
2014/12/31 职场文书
办公室文员岗位职责
2015/02/04 职场文书
勤俭节约倡议书范文
2015/04/29 职场文书
加薪申请报告范本
2015/05/15 职场文书
开学典礼校长致辞
2015/07/29 职场文书
勤俭节约主题班会
2015/08/13 职场文书
幼儿园班级管理心得体会
2016/01/07 职场文书
《围炉夜话》110句人生箴言,精辟有内涵,引人深思
2019/10/23 职场文书
MySQL的意向共享锁、意向排它锁和死锁
2022/07/15 MySQL
MySql按时,天,周,月进行数据统计
2022/08/14 MySQL