如何使用php获取图像文件大小


how to get image file size with php

我正试图找到一个PHP函数,它将允许我确定上传图像的文件大小。即,我想要阻止超过某个大小的图像。

我尝试使用getimagesize();函数,但这似乎只给出图像的宽度和高度。

我在下面附上了getimagesize函数返回的数组值。除非我弄错了,否则这个数组中没有任何与实际文件大小相关的内容

array(6) { [0]=> int(800) [1]=> int(800) [2]=> int(3) [3]=> string(24) "width="800" height="800"" ["bits"]=> int(music) ["mime"]=> string(9) "image/png" }

您被问题中的"图像"部分所欺骗。如何确定通用文件的文件大小?为什么图像会有所不同?

由于图像也是文件,您应该使用PHP 提供的filesize()函数

这应该有效:

$filename = 'somefile.txt';
echo filesize($filename) . ' bytes';

您可以尝试这样的代码:

if($_FILES['image']['size'] <= 2097152 )
    {
    $uploaddir = $_SERVER['DOCUMENT_ROOT'].'/writereaddata/'; // destination folder

    if (move_uploaded_file($_FILES['image']['tmp_name'], $uploaddir)) {

    }
    }

您需要filesize()函数吗?

有一种简单的方法,首先确定图像URL,然后检查其大小,如下所示:

$image = get_headers("full-url-to-image", 1);
$bytes = $image["Content-Length"];
echo "$bytes";

这将以字节为单位反映图像大小,例如:

length="12113"