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
            );
        }
  • 相关阅读:
    【codeforces 723F】stSpanning Tree
    struts2.0中struts.xml配置文件详解
    存储过程中调用JAVA程序段
    本不该逃避
    利用js实现对页面的自动刷新
    [转]从硬盘安装 RedHat Enterprise Linux Server 5 iso
    正则表达式使用
    利用XmlBean轻松读写xml(转)
    Struts2+Spring2+Hibernate3 web应用示例(七)
    在DWR中实现直接获取一个JAVA类的返回值的两种方法
  • 原文地址:https://www.cnblogs.com/linksgo2011/p/2989724.html
Copyright © 2011-2022 走看看