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 相关文章推荐
建立文件交换功能的脚本(三)
Oct 09 PHP
用header 发送cookie的php代码
Mar 16 PHP
慎用preg_replace危险的/e修饰符(一句话后门常用)
Jun 19 PHP
用Json实现PHP与JavaScript间数据交换的方法详解
Jun 20 PHP
MongoDB在PHP中的常用操作小结
Feb 20 PHP
PHP zip扩展Linux下安装过程分享
May 05 PHP
基于PHP给大家讲解防刷票的一些技巧
Nov 18 PHP
PHP实现文件下载【实例分享】
Apr 28 PHP
CakePHP框架Model函数定义方法示例
Aug 04 PHP
php实现解析xml并生成sql语句的方法
Feb 03 PHP
php链式操作的实现方式分析
Aug 12 PHP
数据结构之利用PHP实现二分搜索树
Oct 25 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 sprintf()函数让你的sql操作更安全
2008/07/23 PHP
php实现猴子选大王问题算法实例
2015/04/20 PHP
PHP中Session和Cookie是如何操作的
2015/10/10 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
Laravel 数据库加密及数据库表前缀配置方法
2019/10/10 PHP
jquery tablesorter.js 支持中文表格排序改进
2009/12/09 Javascript
JavaScript简单实现鼠标拖动选择功能
2014/03/06 Javascript
js判断当页面无法回退时关闭网页否则就history.go(-1)
2014/08/07 Javascript
javascript实现简单加载随机色方块
2015/12/25 Javascript
学习使用AngularJS文件上传控件
2016/02/16 Javascript
JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
2016/08/19 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
Vue 短信验证码组件开发详解
2017/02/14 Javascript
面试常见的js算法题
2017/03/23 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
2018/08/01 Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
2018/10/31 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
Vue中computed及watch区别实例解析
2020/08/01 Javascript
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
[48:54]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第二场 6.3
2018/06/04 DOTA
python轻松查到删除自己的微信好友
2016/01/10 Python
对python for 文件指定行读写操作详解
2018/12/29 Python
python游戏地图最短路径求解
2019/01/16 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
2019/06/10 Python
python2和python3实现在图片上加汉字的方法
2019/08/22 Python
美国知名的隐形眼镜电商:Contacts America
2019/11/19 全球购物
环境科学专业个人求职信
2013/12/15 职场文书
导游的职业规划书范文
2013/12/27 职场文书
高考升学宴答谢词
2015/01/20 职场文书
《植树问题》教学反思
2016/03/03 职场文书
教你用python控制安卓手机
2021/05/13 Python
Javascript设计模式之原型模式详细
2021/10/05 Javascript
python实现双链表
2022/05/25 Python