zoukankan      html  css  js  c++  java
  • 一个简单文件上传代码

        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
            );
        }
  • 相关阅读:
    gotour源码阅读
    CPU知识
    GCC知识
    go/src/make.bash阅读
    Go的pprof使用
    CGI的一些知识点
    STM32——C语言数据类型
    css 学习资料
    项目管理实践教程
    js 格式验证总结
  • 原文地址:https://www.cnblogs.com/linksgo2011/p/2989724.html
Copyright © 2011-2022 走看看