Example #1
0
function uploadFile($file, $path)
{
    $allowSuffix = array('gif', 'jpeg', 'jpg', 'png', 'text', 'php');
    $maxSize = 1024 * 1024 * 10;
    //10M
    //判断错误号
    if ($file['error'] == UPLOAD_ERR_OK) {
        if (is_uploaded_file($file['tmp_name'])) {
            $suffix = get_extension($file['name']);
            $unipid = getUniqidName();
            $destination = $path . "/" . pathinfo($file['name'], PATHINFO_FILENAME) . "_" . $unipid . "." . $suffix;
            if (in_array($suffix, $allowSuffix)) {
                if ($file['size'] <= $maxSize) {
                    if (move_uploaded_file($file['tmp_name'], $destination)) {
                        $msg = "文件上传成功";
                    } else {
                        $msg = "文件上传失败";
                    }
                } else {
                    $msg = "文件大小不能超过10M";
                }
            } else {
                $msg = "非法文件类型";
            }
        } else {
            $msg = "文件不是通过HTTP POST方式上传的";
        }
    } else {
        switch ($file['error']) {
            case 1:
                $msg = "超过了配置文件的大小";
                break;
            case 2:
                $msg = "超过了表单允许接收数据的大小";
                break;
            case 3:
                $msg = "文件没有上传完成";
                break;
            case 4:
                $msg = "没有文件被上传";
                break;
        }
    }
    return $msg;
}
Example #2
0
/**
 * 上传文件
 * @param array $fileInfo
 * @param string $path
 * @param array $allowExt
 * @param int $maxSize
 * @return string
 */
function uploadFile($fileInfo, $path, $allowExt = array("gif", "jpeg", "jpg", "png", "txt", "doc"), $maxSize = 10485760)
{
    //判断错误号
    if ($fileInfo['error'] == UPLOAD_ERR_OK) {
        //文件是否是通过HTTP POST方式上传上来的
        if (is_uploaded_file($fileInfo['tmp_name'])) {
            //上传文件的文件名,只允许上传jpeg|jpg、png、gif、txt的文件
            //$allowExt=array("gif","jpeg","jpg","png","txt");
            $ext = getExt($fileInfo['name']);
            //取出扩展名
            $uniqid = getUniqidName();
            //产生一个唯一的文件
            $destination = $path . "/" . pathinfo($fileInfo['name'], PATHINFO_FILENAME) . "_" . $uniqid . "." . $ext;
            if (in_array($ext, $allowExt)) {
                if ($fileInfo['size'] <= $maxSize) {
                    if (move_uploaded_file($fileInfo['tmp_name'], $destination)) {
                        $mes = "文件上传成功";
                    } else {
                        $mes = "文件移动失败";
                    }
                } else {
                    $mes = "文件过大";
                }
            } else {
                $mes = "非法文件类型";
            }
        } else {
            $mes = "文件不是通过HTTP POST方式上传上来的";
        }
    } else {
        switch ($fileInfo['error']) {
            case 1:
                $mes = "超过了配置文件的大小";
                break;
            case 2:
                $mes = "超过了表单允许接收数据的大小";
                break;
            case 3:
                $mes = "文件部分被上传";
                break;
            case 4:
                $mes = "没有文件被上传";
                break;
        }
    }
    return $mes;
}
Example #3
0
function uploadFile($fileInfo, $path = './uploads', $flag = true, $maxSize = 1048576, $allowExt = array('jpeg', 'jpg', 'png', 'gif'))
{
    //判断错误号
    if ($fileInfo['error'] === UPLOAD_ERR_OK) {
        if ($fileInfo['size'] > $maxSize) {
            $res['mes'] = $fileInfo['name'] . '上传文件过大';
        }
        $ext = getExt($fileInfo['name']);
        if (!in_array($ext, $allowExt)) {
            $res['mes'] = $fileInfo['name'] . '非法文件类型';
        }
        if ($flag) {
            if (!getimagesize($fileInfo['tmp_name'])) {
                $res['mes'] = $fileInfo['name'] . '不是真实的图片类型';
            }
        }
        if (!is_uploaded_file($fileInfo['tmp_name'])) {
            $res['mes'] = $fileInfo['name'] . '文件不是通过http post方式上传的';
        }
        if ($res) {
            return $res;
        }
        if (!file_exists($path)) {
            mkdir($path, 0777, true);
            chmod($path, 0777);
        }
        $uniName = getUniqidName();
        $destination = $path . '/' . $uniName . '.' . $ext;
        if (!move_uploaded_file($fileInfo['tmp_name'], $destination)) {
            $res['mes'] = $fileInfo['name'] . '文件移动失败';
        }
        $res['mes'] = $fileInfo['name'] . '上传成功';
        $res['dest'] = $destination;
        return $res;
    } else {
        switch ($fileInfo['error']) {
            case 1:
                $res['mes'] = '上传文件超过了PHP配置文件中upload_max_filesize选项的值';
                break;
            case 2:
                $res['mes'] = '超过了表单max_file_size限制的大小';
                break;
            case 3:
                $res['mes'] = '文件部分被上传';
                break;
            case 4:
                $res['mes'] = '没有选择上传的文件';
                break;
            case 6:
                $res['mes'] = '没有找到临时的目录';
                break;
            case 7:
                $res['mes'] = '文件不可写';
                break;
            case 8:
                $res['mes'] = '系统错误';
                break;
        }
    }
    return $res;
}
Example #4
0
/**
 * 上传文件
 * @param $fileInfo 文件信息,一维数组
 * @param $path 上传文件的保存路径
 * @param array $allowExt 允许上传文件的扩展名
 * @param int $maxSize 允许上传文件的最大值
 * @return string 文件上传的状态
 */
function uploadFile($fileInfo, $path, $allowExt = array('jpg', 'jpeg', 'gif', 'png', 'bmp'), $maxSize = 10485760)
{
    //判断错误号
    if ($fileInfo['error'] == UPLOAD_ERR_OK) {
        //文件是否是通过HTTP POST方式上传上来的
        if (is_uploaded_file($fileInfo['tmp_name'])) {
            //限制上传文件的文件名
            //$allowExt = array('jpg', 'jpeg', 'gif', 'png', 'bmp');
            $ext = getExt($fileInfo['name']);
            //取出扩展名
            $uniqid = getUniqidName();
            //获得一个唯一的文件名称
            //文件名称 + 当前的时间戳 + uniqid + 扩展名
            $destination = $path . pathinfo($fileInfo['name'], PATHINFO_FILENAME) . '_' . microtime(true) . "_" . $uniqid . ".{$ext}";
            //文件的存储路径
            if (in_array($ext, $allowExt)) {
                if ($fileInfo['size'] <= $maxSize) {
                    if (move_uploaded_file($fileInfo['tmp_name'], $destination)) {
                        $mes = "文件上传成功";
                    } else {
                        $mes = "文件移动失败";
                    }
                } else {
                    $mes = "文件大小超过限制";
                }
            } else {
                $mes = "非法文件";
            }
        } else {
            $mes = "文件不是通过HTTP POST方式上传上来的";
        }
    } else {
        switch ($fileInfo['error']) {
            case 1:
                $mes = "超过了配置文件的大小";
                break;
            case 2:
                $mes = "超过了表单允许接收数据的大小";
                break;
            case 3:
                $mes = "文件部分被上传";
                break;
            case 4:
                $mes = "没有文件被上传";
                break;
        }
    }
    return $mes;
}
Example #5
0
function uploadFile($fileInfo, $path, $allowExt = array("gif", "jpeg", "jpg", "png", "txt", "html", "php"), $maxSize = 10485760)
{
    //判断错误号
    if ($fileInfo['error'] == UPLOAD_ERR_OK) {
        //文件是否是通过HTTP POST 方式上传的
        if (is_uploaded_file($fileInfo['tmp_name'])) {
            //上传文件的文件名,只允许上传,jpeg,jpg,png,gif,txt的文件
            $ext = getExt($fileInfo['name']);
            $uniqid = getUniqidName();
            $destination = $path . "/" . pathinfo($fileInfo['name'], PATHINFO_FILENAME) . "_" . $uniqid . "." . $ext;
            if (in_array($ext, $allowExt)) {
                if ($fileInfo['size'] <= $maxSize) {
                    if (move_uploaded_file($fileInfo['tmp_name'], $destination)) {
                        return "文件上传成功";
                    } else {
                        return "文件上传失败";
                    }
                } else {
                    return "文件过大";
                }
            } else {
                return "非法文件类型";
            }
        } else {
            return "文件不是通过HTTP POST方式上传上来的";
        }
    } else {
        switch ($fileInfo['error']) {
            case 1:
                return "超过了配置文件的大小";
                break;
            case 2:
                return "超过了表单允许接收数据的大小";
                break;
            case 3:
                return "文件部分被上传";
                break;
            case 4:
                return "没有文件被上传";
                break;
        }
    }
}