获取存储在我的数据库中的文件的大小

时间:2014-11-27 10:31:01

标签: php mysqli

我需要获取已存储在我的数据库中的PDF文件的大小

我试试这个

$sid = 1;
$getFile = $db->prepare("SELECT * FROM pwork WHERE id=?");
$getFile->bind_param('i', $sid);
if ($getFile->execute()) {
    $fileRes = $getFile->get_result();
    if ($f = $fileRes->fetch_object()) {
        $fileName = $f->work_file;
        $fileSize = filesize($fileName);
    }
}

我收到了错误

( ! ) Warning: filesize(): stat failed for ch03-libre.pdf in xxx on line 57

我的文件存储为BLOB,我需要获取文件大小,如5Mb

1 个答案:

答案 0 :(得分:3)

如果整个文件在BLOB中,您可以使用mysql函数直接计算Blob的大小。

看到这篇文章: https://www.virendrachandak.com/techtalk/how-to-get-size-of-blob-in-mysql/

这个例子:

SELECT OCTET_LENGTH(blob_content) FROM test_blob WHERE id = 1

返回的长度将以字节为单位。