【问题标题】:Linux hosting file uploadLinux主机文件上传
【发布时间】:2015-11-20 22:03:07
【问题描述】:

我正在使用 Godaddy linux 托管,但在我的网站上上传图片时遇到问题。我要允许上传的最大文件大小为 1mb,并允许扩展名 jpg、jpeg、png 和 gif。我用我的 PHP 代码限制了这一点。我可以上传小于 1mb 的图像,在这种情况下它可以正常工作。图像被上传,数据存储在数据库中。此外,当我尝试上传小于 2mb 但大于 1mb 的图像时,我的 PHP 代码可以正常工作,并且我的代码停止上传文件并显示我的最大允许文件大小为 1mb 的警告。此外,当我尝试上传其他小于 2mb 时不允许的文件类型时,一切正常。代码显示警告,文件大小和文件类型不允许。问题是当我尝试上传大于 2mb 的文件时。比我的代码不起作用。没有显示我的最大允许文件大小为 1mb 的警告。数据库已更新,但不应更新,并且标头将我重定向到成功 url。我的代码在本地服务器上运行良好,但在文件大于 2mb 时无法在 Godaddy 服务器上运行。

<?php

    if (isset($_FILES['image'], $_POST['news_id'])) {
    $image_name = $_FILES['image']['name'];
    $image_size = $_FILES['image']['size'];
    $image_temp = $_FILES['image']['tmp_name'];

    $allowed_ext = array('jpeg', 'jpg', 'png', 'gif');
    $image_ext = strtolower(end(explode('.', $image_name)));

    $news_id = $_POST['news_id'];
    $errors = array();

    if (empty($image_name) || empty($news_id)) {
        $errors[] = 'Oooop\'s! Something went wrong!';
    } else {

        if (in_array($image_ext, $allowed_ext) === false) {
            $errors[] = 'Allowed file type is "jpg, jpeg, png i gif"!';
        }

        if ($image_size > 1048576 ) {
            $errors[] = 'Max allowed file size is 1mb!';
        }

    }

    if (!empty($errors)) {
        foreach ($errors as $error) {
            echo output_errors($errors);
        }
    } else {
        $this->model->uploadImage($image_temp, $image_ext, $news_id);
        header('Location: ' . URL . 'admin_panel/add_images/success');
        exit();
    }
}
?>

【问题讨论】:

    标签: php linux file-upload


    【解决方案1】:

    检查您的服务器 php.ini 配置的 upload_max_filesize 和 post_max_size 我认为他们正在限制您的上传最大大小。你可以试试这段代码来检查 php.ini 的限制是什么:

    echo ini_get('post_max_size');
    echo ini_get('upload_max_filesize');
    

    【讨论】:

    • post_max_size = 8M upload_max_filesize = 2M
    • 我不需要上传大于 1mb 的文件,并且我想用友好的消息来限制我的代码,但是当文件大于 2mb 时服务器会忽略我的代码并显示错误消息。
    • 由于您的 upload_max_filesize 为 2MB,因此 PHP 在运行您的代码之前会返回错误。您看到的是空白页,因为在您的服务器上禁用了显示错误消息
    • 我上传了自己的 php.ini 文件并更改了规则。谢谢哈姆巴。
    猜你喜欢
    • 2020-04-13
    • 2012-07-11
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 2018-12-02
    相关资源
    最近更新 更多