年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2279|回复: 0

PHP简单图片上传类封装实现

[复制链接]
  • TA的每日心情

    2024-10-15 10:05
  • 签到天数: 372 天

    [LV.9]以坛为家II

    发表于 2016-1-9 23:25:59 | 显示全部楼层 |阅读模式
    项目链接:http://www.yusian.com/thread-11071-1-1.html
    [PHP] 纯文本查看 复制代码
    <?php
    	class Upload{
    		
    		private $path;
    		// 构造方法
    		function __construct($path){
    			$this->path = $path;
    		}
    		// 1、保存文件
    		public function save_file($file){
    			if ($this->get_file($file) && $this->file_type($file) && $this->file_size($file)){
    				return $this->move($file);
    			}else{
    				return false;
    			}
    		}
    		/****************私有方法********************/
    		// 获取文件
    		private function get_file($file){
    			$error = $file["error"];
    			if($error > 0){
    				switch($error){
    					case  1: echo "上传时超过了upload_max_filesie<br/>";return false;
    					case  2: echo "超过了表单MAX_FILE_SIZE<br/>";return false;
    					case  3: echo "文件只部分上传<br/>";return false;
    					case  4: echo "没有上传任何文件<br/>";return false;
    					default: echo "其他<br/>";return false;
    				}
    			}else{
    				return true;
    			}
    		}
    		// 判断文件类型
    		private function file_type($file){
    			$allow_type = array("jpg", "jpeg", "png");
    			$array = explode(".", $file["name"]);
    			$file_type = end($array);
    			if (!in_array($file_type, $allow_type)){
    				echo "上传的文件类型不合法!<br/>";
    				return false;
    			}else{
    				return true;
    			}
    		}
    		// 判断文件大小
    		private function file_size($file){
    			$max_size = 1000000;
    			if ($file["size"] > $max_size){
    				echo "上传的文件大小超出了最大值1M<br/>";return false;
    			}else{
    				return true;
    			}
    		}
    		// 移动文件位置
    		private function move($file){
    			$array = explode(".", $file["name"]);
    			$file_type = end($array);
    			$file_name = date("YmdHis").rand(100, 999).".{$file_type}";
    			$save_url = $this->path."/".$file_name;
    			if(move_uploaded_file($file["tmp_name"], $save_url)){
    				echo "<br/>上传成功!<br/>";
    				return $file_name;
    			}else{
    				echo "<br/>上传失败!<br/>";
    				return false;
    			}
    		}
    	}
    	

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|Archiver|iOS开发笔记 ( 湘ICP备14010846号 )

    GMT+8, 2024-11-22 19:43 , Processed in 0.048913 second(s), 23 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表