【问题标题】:Large upload image file size大上传图片文件大小
【发布时间】:2019-10-06 14:23:10
【问题描述】:

我增加了文件大小。但是还是不行,我想添加这些代码中的任何一个,如果可以访问的话,我会增加文件的大小......

MySQL 5,PHP 5

$permited  = array('jpg', 'jpeg', 'png', 'gif');
$file_name = $_FILES['image']['name'];
$file_size = $_FILES['image']['size'];
$file_temp = $_FILES['image']['tmp_name'];

$div = explode('.', $file_name);
$file_ext = strtolower(end($div));
$unique_image = substr(md5(time()), 0, 10) . '.' . $file_ext;
$uploaded_image = "upload/" . $unique_image;


if ($title == "" || $cat == "" || $body == "" || $tags == "") {
    echo "<span class='error'> Must be Fill</span>";
} else {
    if (!empty($file_name)) {
        if ($file_size > 50048567) {


            echo "<span class='error'>Image Size should be less then 1MB!
    </span>";
        } elseif (in_array($file_ext, $permited) === false) {
            echo "<span class='error'>You can upload only:-"
                . implode(', ', $permited) . "</span>";
        } else {
            move_uploaded_file($file_temp, $uploaded_image);
            $query = "UPDATE  tbl_post
        SET

【问题讨论】:

  • 这个问题和Java编码有什么关系?如果与此语言编码的问题没有直接关系,请从问题中删除java 标签。没有意义误导回答 Java 类型问题的人,因为这可能会导致投票失败。
  • 如果您仍在使用 PHP 5,我强烈建议您尽快升级。不再支持此版本。 Let Rasmus Lerdorf explain it to you
  • 代码看起来被截断了,不清楚您所说的increment the file size 是什么意思。您只是想让文件比实际更大吗? (不相关,但50048567 与 1 MB 有什么关系?)

标签: php image file-upload


【解决方案1】:

您的代码在我看来不错,但您可以尝试以下方法来检查上传时是否有错误。

<?php

$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["image"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
if (isset($_POST["submit"])) {
    $check = getimagesize($_FILES["image"]["tmp_name"]);
    if ($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}
// Check if file already exists
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}
// Check file size
if ($_FILES["image"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}
// Allow certain file formats
if ($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif") {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
    if (move_uploaded_file($_FILES["image"]["tmp_name"], $target_file)) {
        echo "The file ". basename($_FILES["image"]["name"]). " has been uploaded.";
    // do you sql query
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}

参考:https://www.w3schools.com/php/php_file_upload.asp

【讨论】:

  • 你改变了什么或者这如何回答这个问题?请在答案中添加解释。代码转储通常没有帮助。
  • 虽然此代码可能会解决问题,但 including an explanation 关于如何以及为何解决问题将真正有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请edit您的答案添加解释并说明适用的限制和假设。
猜你喜欢
  • 1970-01-01
  • 2011-08-06
  • 1970-01-01
  • 1970-01-01
  • 2014-01-14
  • 2013-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多