PHP基础------文件上传类
2015-09-20 19:21
633 查看
<?php //文件上传类 $upImage = $_FILES["img"]; //Array //( // [name] => gou.jpg // [type] => image/jpeg // [tmp_name] => D:\wamp\tmp\php311F.tmp // [error] => 0 // [size] => 9488 //) class upLoad{ private $_arr; //构造函数,把图像信息赋值给$_arr字段 public function __construct($arrImg) { $this->_arr = $arrImg; } //得到扩展名 private function getExtName() { //explode 以.把字符串切割为数组 $extName = explode(".", $this->_arr["name"]); //取得数组最后一个元素然后返回 return $extName = end($extName); } //判断文件大小 private function checkSize() { if($this->_arr["size"]>2000000) { exit("图片不能大于2M"); } } //检测图片类型 jpg gif png private function checkType($extName) { if($extName!="jpg" && $extName!="gif" && $extName!="png") { exit("图片格式不对,请重新上传!"); } } //为文件重命名 private function getFileName() { //定义文件名 $filePathName = "Uploads/"; //判断上传文件夹是否存在 if(!is_dir($filePathName)) { //创建目录 mkdir($filePathName); } //判断日期文件夹是否存在 $filePathTime = $filePathName.date("Y-m-d")."/"; if(!is_dir($filePathTime)) { //创建目录 mkdir($filePathTime); } //文件重命名 $fileName = $filePathTime.date("Ymd").rand(1000, 9999).'.'.$this->getExtName(); return $fileName; } //文件上传主调方法 public function Main() { //获得文件扩展名 $eName = $this->getExtName(); //判断文件大小 $this->checkSize(); //检测文件类型 $this->checkType($eName); //文件重命名 $fileName = $this->getFileName(); //上传文件 move_uploaded_file($this->_arr["tmp_name"],$fileName); //返回文件路径,数据库存储需要 return $fileName; } } $up = new upLoad($upImage); $up->Main();
相关文章推荐
- curl PHP 脚本例子
- 深入PHP使用技巧之变量
- 使用php导入excel文件
- php判断数值是否是素数算法
- mkyaffs2image编译
- yaffs2文件镜像制作工具yaffs2image
- yaffs2文件系统
- 安卓ContentProvider的理论知识
- PHP内核探索:新垃圾回收机制说明
- getAttribute()与getParameter的区别
- php用空格代替标点符号
- PHP的文件加载机制到底是什么目录
- php传参方式1--ajax
- 访问wamp的PHPadmin时遇到Forbidden You don't have permission to access / on this server. You don't have per
- php 设计模式
- ThinkPHP实战之登录
- php Hash Table(二) Hash函数
- php基础------私有字段取值赋值
- php Hash Table(一) Hash Table的结构
- PHPExcel 读excel