如何在php中获取隐藏文件大小

时间:2017-10-24 12:16:38

标签: php

我正在使用PHP上传图像文件但我发现我无法获得从一个移动设备捕获的某些图像的文件大小。我可以获取文件名但不是大小,所以任何人都可以告诉问题可能是什么或如何修复它以获得文件大小? 当我检查系统中的大小时,其大小以MB为单位,而其他图像以KB为单位。

<?php

if (isset($_FILES["file"]["name"][1]) && !empty($_FILES["file"]["name"])) {

    $fileext = ["jpg", "jpeg", "png", "bif", "gif", "bmp"];
    for ($i = 1; $i < count($_FILES["file"]["name"]); $i++) {
        $name = $_FILES["file"]["name"][$i];
        $type = $_FILES["file"]["type"][$i];
        $size = $_FILES["file"]["size"][$i];
        $path = $_FILES["file"]["tmp_name"][$i];

        $ext = end(explode('.', strtolower($name)));
        //checking file supported type
        if (in_array($ext, $fileext)) {
            echo $name . "<br>";
        } else {
            echo "file type not supported!";
        }
    }
}
?>

1 个答案:

答案 0 :(得分:0)

至于文件上传错误:

您需要在php.ini中设置upload_max_filesize和post_max_size的值:

; Maximum allowed size for uploaded files.
upload_max_filesize = 40M

; Must be greater than or equal to upload_max_filesize
post_max_size = 40M

修改php.ini文件后,需要重启HTTP服务器以使用新配置。

如果您无法访问您的php.ini,您可以尝试:

ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
ini_set('max_input_time', 300);
ini_set('max_execution_time', 300);

也可以使用memory_limit。