PHP基础------文件上传类

<?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();
时间: 2024-10-05 18:40:10

PHP基础------文件上传类的相关文章

ajax结合文件上传类进行多文件的单个上传

今天做项目的时候碰见一个问题:之前一个同事离职之前做了一个网站,有一个上传商品详细图片的功能,当时已经完成,但是由于后期程序的有更改以及更改的程序员的水平也是参差不齐,最后导致程序bug很多,由于当时用的是一个框架,最终也没找到说明文档,后来我就重新写了一个结合ajax上传文件的upload.classs.php虽然界面欠缺美观,但是通俗易懂好维护. //首先是页面. index.php <!DOCTYPE html> <html lang="en"> <

面向对象中的文件上传类

<?php /** *文件上传类 * **/ class Upload { //上传到哪个目录 protected $path = './upload/'; //准许的MIME protected $allowmime = ['image/png','image/jpg','image/jpeg','image/pjpeg','image/bmp','image/wbmp','image/gif','image/x-png']; //准许的后缀 protected $allowsubfix = 

PHP文件上传类(页面和调用部分)

<!--upform.html内容--> <form action="upload.php" method="post" enctype="multipart/form-data" > name: <input type="text" name="username" value="" /><br> <input type="

文件上传类

<?php /** file: fileupload.class.php 文件上传类FileUpload 本类的实例对象用于处理上传文件,可以上传一个文件,也可同时处理多个文件上传 */ class FileUpload { private $path = "./uploads"; //上传文件保存的路径 private $allowtype = array('jpg','gif','png'); //设置限制上传文件的类型 private $maxsize = 1000000;

PHP文件上传类

<form action="upload.php" method="post" enctype="multipart/form-data" > name: <input type="text" name="username" value="" /><br> <input type="hidden" name="MAX

php 文件上传类

<?php /** file: fileupload.class.php 文件上传类FileUpload 本类的实例对象用于处理上传文件,可以上传一个文件,也可同时处理多个文件上传 */ class FileUpload { private $path = "./uploads"; //上传文件保存的路径 private $allowtype = array('jpg','gif','png'); //设置限制上传文件的类型 private $maxsize = 1000000;

文件上传类,实现文件上传功能

/** *==================================================================  * upload.class.php 文件上传类,实现文件上传功能 * 2013年3月27日0:37:15 *================================================================== */ class Upload{    private $path;   //文件上传目录    privat

ASP.NET 文件上传类 简单好用

调用: UploadFile uf = new UploadFile(); //参数设置 //uf.SetFilePath="" 设置保存路径,默认为upload //uf.SetFileType=".exe" 设置允许的后缀格式,默认为.pdf,.xls,.xlsx,.doc,.docx,.txt //uf.SetMaxSizeM=100 设置最大上传大小 默认10M //执行保存 uf.Save("file" /*input file 的 n

文件上传类代码(php例子)

这里是来自网络朋友的一个实现的文件上传类代码,我们详细的介绍了每个变量的用处,下面看看吧,有需要可以参考一下. 这里是来自网络朋友的一个实现的文件上传类代码,我们详细的介绍了每个变量的用处,下面看看吧,有需要可以参考一下. <?php教程 /**  * 文件上传类  */ class uploadFile { public $max_size = '1000000';//设置上传文件大小  public $file_name = 'date';//重命名方式代表以时间命名,其他则使用给予的名称