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 相关文章推荐
apache+mysql+php+ssl服务器之完全安装攻略
Sep 05 PHP
PHP+SQL 注入攻击的技术实现以及预防办法
Dec 29 PHP
php开启安全模式后禁用的函数集合
Jun 26 PHP
基于PHP常用字符串的总结(待续)
Jun 07 PHP
解析php中const与define的应用区别
Jun 18 PHP
php出现内存位置访问无效错误问题解决方法
Aug 16 PHP
自己写的php中文截取函数mb_strlen和mb_substr
Feb 09 PHP
yii数据库的查询方法
Dec 28 PHP
php实现三级级联下拉框
Apr 17 PHP
PHP实现数组array转换成xml的方法
Jul 19 PHP
如何修改yii2.0自带的user表为其它的表
Aug 01 PHP
PHP实现从上往下打印二叉树的方法
Jan 18 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 eval函数用法总结
2012/10/31 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
2007/01/16 Javascript
js Flash插入函数免激活代码
2009/03/31 Javascript
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
2010/04/27 Javascript
jquery队列函数用法实例
2014/12/16 Javascript
JavaScript插件化开发教程 (四)
2015/01/27 Javascript
JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
2015/12/04 Javascript
jQuery组件easyui基本布局实现代码
2016/08/25 Javascript
微信小程序 教程之模块化
2016/10/17 Javascript
Angularjs 设置全局变量的方法总结
2016/10/20 Javascript
详解Puppeteer前端自动化测试实践
2019/02/21 Javascript
不刷新网页就能链接新的js文件方法总结
2020/03/01 Javascript
微信小程序保持session会话的方法
2020/03/20 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
浅谈vue websocket nodeJS 进行实时通信踩到的坑
2020/09/22 NodeJs
[01:00:53]OG vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python中的__new__与__init__魔术方法理解笔记
2014/11/08 Python
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
python查看微信好友是否删除自己
2016/12/19 Python
Python连接phoenix的方法示例
2017/09/29 Python
Django中Forms的使用代码解析
2018/02/10 Python
CSS3圆角和渐变2种常用功能详解
2016/01/06 HTML / CSS
技术总监个人的自我评价范文
2013/12/18 职场文书
初二生物教学反思
2014/02/03 职场文书
房地产项目策划书
2014/02/05 职场文书
初中高效课堂实施方案
2014/02/26 职场文书
青春无悔演讲稿
2014/05/08 职场文书
医院信息公开实施方案
2014/05/09 职场文书
小学优秀教育工作者事迹材料
2014/05/09 职场文书
国庆宣传标语
2014/06/30 职场文书
加班费申请报告
2015/05/15 职场文书
班级班风口号大全
2015/12/25 职场文书
Java 在线考试云平台的实现
2021/11/23 Java/Android
Python OpenCV超详细讲解基本功能
2022/04/02 Python
Java线程的6种状态与生命周期
2022/05/11 Java/Android