PHP-在保存图像之前检测图像文件大小

问题描述 投票:-1回答:1

我正在使用以下代码从URL保存图像,但是有时图像URL不好,那里没有图像,或者图像存在问题,并且保存了一个零尺寸的文件。

<?php 
file_put_contents ("/var/www/html/images/" . $character . ".jpg", 
    file_get_contents($image));

我需要尝试找到一种方法来阻止这种情况的发生,因为这会造成问题(保存零大小的文件)。

我已经尝试过了,但是似乎仍在发生:

$filesize = file_put_contents ("/var/www/html/images/" . $character . ".jpg", 
    file_get_contents($image));

if (($filesize < 10) || ($filesize == "")) {
    echo "Error";
}

有人可以推荐一种更可靠的方法吗?

谢谢。

php file-get-contents file-put-contents
1个回答
1
投票

Imagick程序包中有执行此操作的方法

[Imagick::getImageGeometry()-返回图像的宽度和高度,或引发异常。

function isValidImage($filename)
{
    if (!fileexists($filename) return false;
    if (filesize($filename) == 0) return false;

    $image = new imagick($filename);
    $img=$image->getImageGeometry();

    return ($img['width'] > 0 && $img['height'] > 0);
}

编辑:我用更多的支票更新了答案

© www.soinside.com 2019 - 2024. All rights reserved.