php文件上传简单封装

下面贴上php文件上传的示例

	/**
	 * Class getFiles 文件上传
	 */
	class getFiles
	{
	    private $file;
	    private $thisType;
	
	
	    function __construct($file)
	    {
	        $this->file = $file;
	        $this->thisType = NULL;
	        $this->verifyFile();
	        $this->moveFile();
	    }
	
	
	    /**
	     *  验证文件
	     */
	    public function verifyFile()
	    {
	        try {
	            $maxSize = 2 * 1024 * 1024;
	            if ($maxSize < $this->file['size']) {
	                die('文件大于上传限制,请选择小于2M的文件重新尝试上传');
	            }
	
	            $type = array(
	                '.png' => 'image/png',
	                '.jpg' => 'image/jpg',
	                '.jpeg' => 'image/jpeg',
	                '.gif' => 'image/gif'
	            );
	
	
	            foreach ($type as $key => $value) {
	
	                if ($value == $this->file['type']) {
	                    $this->thisType = $key;
	                    break;
	                }
	            }
	            if (!$this->thisType) {
	                echo 'File type not supported';
	                return;
	            }
	        } catch (Exception $e) {
	            echo $e->getMessage();
	        }
	    }
		/**
	     *  移动文件返回路径
	     */
	    public function moveFile()
	    {
	        try {
	
	            $filename = 'uploadimage/' . time() . $this->thisType;
	            if (file_exists($filename)) {
	                echo "File Exist";
	                return;
	            }
	
	           $res= move_uploaded_file($this->file['tmp_name'], $filename);
	            if($res){
	                echo json_encode($filename);
	                return;
	            }
	            echo 'Move File Error';
	        } catch (Exception $e) {
	            echo $e->getMessage();
	        }
	
	    }
	    /**
	     * 释放资源
	     */
	    public function __destruct(){
	        $this->file= null;
	        $this->thisType= null;
    	}
	}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值