首页 > php代码 > php常用文件上传类

php常用文件上传类

php常用文件上传类

<?php
/**
 * flie class
 * (jpg,gif,png)
 */
class Upload {
    var $_file;
    var $_fileType;
    var $target = 'upload/';
    /**
     * construct for this class
     *
     * @param string $name
     * @return Upload
     */
    function Upload($name) {
        if (isset($_FILES[$name])) {
            $this->_file = & $_FILES[$name];
            $this->_parseUploadFile();
        } else {
            die('No file upload.');
        }
    }
    /**
     * set upload target path
     *
     * @param string $path
     * @return boolean
     */
    function setTarget($path = 'upload/') {
        if (is_dir($path)) {
            $this->target = rtrim($path, '/') . '/';
            return true;
        } else {
            return false;
        }
    }
    /**
     * get the type of the file
     *
     */
    function _parseUploadFile() {
        $type = $this->_file['type'];
        if (isset($type) && $type != '') {
            switch ($type) {
                case 'image/gif':
                    $this->_fileType = 'gif';
                    break;
                case 'image/png':
                    $this->_fileType = 'png';
                    break;
                case 'image/jpeg':
                    $this->_fileType = 'jpg';
                    break;
                case 'image/pjpeg':
                    $this->_fileType = 'jpg';
                    break;
                default:
                    $this->_fileType = 'unknow';
                    break;
            }
        } else {
            $filename = $this->_file['name'];
            $filename = explode('.', $filename);
            $filename = strtoupper($filename[sizeof($filename) - 1]);
            switch ($filename) {
                case 'PNG':
                    $this->_fileType = 'png';
                    break;
                case 'JPEG':
                    $this->_fileType = 'jpg';
                    break;
                case 'JPG':
                    $this->_fileType = 'jpg';
                    break;
                case 'GIF':
                    $this->_fileType = 'gif';
                    break;
                default:
                    $this->_fileType = 'unknow';
                    break;
            }
            unset($filename);
        }
        unset($type);
    }
    /**
     * upload file
     *
     * @return array
     */
    function load() {
        if ($this->_fileType == 'unknow') {
            die('Can not upload this file,because the type is not allow.');
        }
        if (file_exists($this->_file['tmp_name']) && is_uploaded_file($this->_file['tmp_name'])) {
            $new_file_name = $this->target . time() . '.' . $this->_fileType;
            move_uploaded_file($this->_file['tmp_name'], $new_file_name);
            return array(
                'name' => $new_file_name,
                'size' => $this->_file['size'],
                'type' => $this->_fileType
            );
        } else {
            return false;
        }
    }
}


本文地址:http://www.phprm.com/code/a59ea48267475fe60583c20abfe84c90.html

转载随意,但请附上文章地址:-)

标签:none

发表留言