php - Linux主机文件上传

标签 php linux file-upload

我正在使用 Godaddy Linux 主机,但在我的网站上上传图片时遇到问题。我允许上传的最大文件大小为 1mb,并允许扩展名为 jpg、jpeg、png 和 gif。我用我的 PHP 代码限制了它。我可以上传小于 1mb 的图片,在这种情况下效果很好。上传图像并将数据存储在数据库中。此外,当我尝试上传小于 2mb 但大于 1mb 的图像时,我的 PHP 代码工作正常并且我的代码停止上传文件并显示我的警告,即允许的最大文件大小为 1mb。此外,当我尝试上传其他小于 2mb 的不允许的文件类型时,一切正常,代码显示警告文件大小和文件类型不允许。问题是当我尝试上传大于 2mb 的文件时。比我的代码不起作用。没有显示我的最大允许文件大小为 1mb 的警告。数据库已更新但不应该更新, header 将我重定向到成功网址。我的代码在本地服务器上运行良好,但在文件大于 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.ini 配置中的 upload_max_filesize 和 post_max_size 我认为他们正在限制您的上传最大大小。您可以尝试使用此代码来检查 php.ini 限制是什么:

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

关于php - Linux主机文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32233839/

相关文章:

android - 使用 angularjs 和 cordova 上传相机图像

php - Mysql性能更新in()

linux - Meteor 部署问题 : module did not self-register

linux - 如何在 Bash 中使用 ls 命令仅显示目录中的隐藏文件

linux - switch_console.c :1053 We've become an orphan, 不再有控制台供我们使用

Flutter - 如何在表单数据中发送多个图像

html - 将文件上传选择限制为特定类型

php - Laravel 5 Schema Builder 中的唯一约束

php - 匹配表单中的多个列

php - 将 "Image"标签替换为 "a"标签 PHP DOMDocument