您的位置:首页 > 编程语言 > PHP开发

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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: