• 一个简单文件上传代码


        private function _upload($file, $type_id = 1) {
            $type_exts = array(
                1 => array(
                    'gif',
                    'jpg',
                    'jpeg',
                    'png',
                    'bmp'
                )
            );
            $max_size = 31457280;
            if (!empty($file['error'])) {
                
                switch ($file['error']) {
                    case '1':
                        $error = '超过php.ini允许的大小。';
                        break;
    
                    case '2':
                        $error = '超过表单允许的大小。';
                        break;
    
                    case '3':
                        $error = '图片只有部分被上传。';
                        break;
    
                    case '4':
                        $error = '请选择图片。';
                        break;
    
                    case '6':
                        $error = '找不到临时目录。';
                        break;
    
                    case '7':
                        $error = '写文件到硬盘出错。';
                        break;
    
                    case '8':
                        $error = 'File upload stopped by extension。';
                        break;
    
                    case '999':
                    default:
                        $error = '未知错误。';
                }
                
                return array(
                    false,
                    $error,
                    null
                );
            }
            if (empty($file) === false) {
                $file_name = $file['name'];
                $tmp_name = $file['tmp_name'];
                $file_size = $file['size'];
                if (!$file_name) {
                    
                    return array(
                        false,
                        '请选择文件。',
                        null,
                    );
                }
                if (@is_uploaded_file($tmp_name) === false) {
                    
                    return array(
                        false,
                        '上传失败。',
                        null,
                    );
                }
                if ($file_size > $max_size) {
                    
                    return array(
                        false,
                        '上传文件大小超过限制。',
                        null
                    );
                }
                //获得文件扩展名
                $_tmp = explode(".", $file_name);
                $file_ext = array_pop($_tmp);
                $file_ext = strtolower($file_ext);
                //检查扩展名
                if (!isset($type_exts[$type_id]) || in_array($file_ext, $type_exts[$type_id]) === false) {
                    return array(
                        false,
                        "上传文件扩展名是不允许的扩展名。\n只允许" . implode(",", $type_exts[$type_id]) . "格式。",
                        null
                    );
                }
                //新文件名
                $filename = APP . 'tmp/tmpLogo.' .$file_ext; 
                if (move_uploaded_file($tmp_name,$filename)) {
                    return array(
                        true,
                        null,
                        $filename
                    );
                }else{
                    return array(
                        false,
                        '上传失败。',
                        null,
                    );
                }
            }
            return array(
                false,
                "没有上传文件",
                null
            );
        }
  • 相关阅读:
    Redis原理篇
    Redis基础
    CentOS7 Redis5.0.5环境搭建
    通用后台管理系统(10)项目打包、修改配置文件、项目开源地址
    通用后台管理系统(9)-编写首页接口、实现、控制器
    通用后台管理系统(8)-编写登入控制器
    生成常用的msf
    badusb资料收集
    后渗透之meterpreter攻略
    linux命令备忘录
  • 原文地址:https://www.cnblogs.com/linksgo2011/p/2989724.html
Copyright © 2020-2023  润新知