欢迎访问宙启技术站
智能推送

如何使用PHP函数检测文件类型和大小

发布时间:2023-07-15 19:59:15

在PHP中,可以使用一些内置的函数来检测文件类型和大小。下面是一些使用PHP函数来检测文件类型和大小的示例。

1. 检测文件类型:

可以使用finfo_open()函数来获取文件的MIME类型。

$filePath = 'path/to/file.ext';
$fileInfo = finfo_open(FILEINFO_MIME_TYPE);
$fileType = finfo_file($fileInfo, $filePath);
finfo_close($fileInfo);
echo "File type: " . $fileType;

上述代码中,首先通过finfo_open()函数打开文件并获取文件信息资源,然后使用finfo_file()函数获取文件的MIME类型,最后使用finfo_close()函数关闭文件信息资源。

2. 检测文件大小:

可以使用filesize()函数来获取文件的大小。filesize()函数返回文件的大小(以字节数表示)。

$filePath = 'path/to/file.ext';
$fileSize = filesize($filePath);
echo "File size: " . $fileSize . " bytes";

上述代码中,使用filesize()函数获取文件的大小,并将其以字节数表示输出。

补充:如果需要将获取到的文件大小进行格式化输出,可以使用以下函数:

function formatSizeUnits($bytes){
    if ($bytes >= 1073741824){
        $bytes = number_format($bytes / 1073741824, 2) . ' GB';
    }elseif ($bytes >= 1048576){
        $bytes = number_format($bytes / 1048576, 2) . ' MB';
    }elseif ($bytes >= 1024){
        $bytes = number_format($bytes / 1024, 2) . ' KB';
    }elseif ($bytes > 1){
        $bytes = $bytes . ' bytes';
    }elseif ($bytes == 1){
        $bytes = $bytes . ' byte';
    }else{
        $bytes = '0 bytes';
    }
    return $bytes;
}

$filePath = 'path/to/file.ext';
$fileSize = filesize($filePath);
echo "File size: " . formatSizeUnits($fileSize);

上述代码中,formatSizeUnits()函数将字节数转换成易读的文件大小格式(如KB,MB,GB等)。

通过上述代码示例,您可以使用PHP函数来检测文件类型和大小。