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 相关文章推荐
?繁体转换的class
Oct 09 PHP
一个简单的PHP&amp;MYSQL留言板源码
Jul 19 PHP
PHP句法规则详解 入门学习
Nov 09 PHP
php笔记之:文章中图片处理的使用
Apr 26 PHP
深入分析PHP引用(&amp;)
Sep 04 PHP
PHP获取数组的键与值方法小结
Jun 13 PHP
PHP中常用的数组操作方法笔记整理
May 16 PHP
PHP打印输出函数汇总
Aug 28 PHP
PHP实现文件上传功能实例代码
May 18 PHP
PHP Laravel 上传图片、文件等类封装
Aug 16 PHP
PHP7扩展开发之hello word实现方法详解
Jan 15 PHP
Laravel框架实现调用百度翻译API功能示例
May 30 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
人族 Terran 基本策略
2020/03/14 星际争霸
PHP创建word文档的方法(平台无关)
2016/03/29 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
详解PHP发送邮件知识点
2018/05/06 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
javascript获取xml节点的最大值(实现代码)
2013/12/11 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
jQuery的position()方法详解
2015/07/19 Javascript
js实现按钮控制带有停顿效果的图片滚动
2016/08/30 Javascript
基于Vue如何封装分页组件
2016/12/16 Javascript
es6学习笔记之Async函数基本教程
2017/05/11 Javascript
微信JSAPI Ticket接口签名详解
2020/06/28 Javascript
nodejs 图片预览和上传的示例代码
2017/09/30 NodeJs
CSS3 动画卡顿性能优化的完美解决方案
2018/09/20 Javascript
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
[02:58]献给西雅图的情书_高清
2014/05/29 DOTA
一步步解析Python斗牛游戏的概率
2016/02/12 Python
Python实现螺旋矩阵的填充算法示例
2017/12/28 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
2018/01/05 Python
python实现requests发送/上传多个文件的示例
2018/06/04 Python
不到20行代码用Python做一个智能聊天机器人
2019/04/19 Python
python基于Selenium的web自动化框架
2019/07/14 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
2020/02/26 Python
python中导入 train_test_split提示错误的解决
2020/06/19 Python
Python根据指定文件生成XML的方法
2020/06/29 Python
使用keras实现非线性回归(两种加激活函数的方式)
2020/07/05 Python
通过代码实例了解Python异常本质
2020/09/16 Python
修复iPhone的safari浏览器上submit按钮圆角bug
2012/12/24 HTML / CSS
纯CSS实现菜单、导航栏的3D翻转动画效果
2014/04/23 HTML / CSS
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
西班牙在线宠物食品和配件商店:bitiba
2019/10/11 全球购物
怎么处理XML的中文问题
2015/03/26 面试题
爱国主义演讲稿
2014/05/07 职场文书
统计学教授推荐信
2014/09/18 职场文书
pytorch 中nn.Dropout的使用说明
2021/05/20 Python
Java tomcat手动配置servlet详解
2021/11/27 Java/Android