温馨提示×

php finfo_file能用于网络文件吗

PHP
小樊
81
2024-12-10 21:16:03
栏目: 编程语言

finfo_file 函数是 PHP 中用于获取文件的 MIME 类型信息的一个函数,它需要文件的本地路径作为参数。因此,你不能直接使用 finfo_file 函数来获取网络文件的 MIME 类型信息。

但是,你可以使用 cURL 或其他方法先下载网络文件到本地,然后再使用 finfo_file 函数来获取文件的 MIME 类型信息。这里有一个使用 cURL 下载网络文件并获取其 MIME 类型的示例:

function getMimeType($url) {
    $ch = curl_init();
    $fp = fopen("php://memory", "wb");

    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_TIMEOUT, 20);
    curl_exec($ch);
    curl_close($ch);

    rewind($fp);
    $finfo = new finfo(FILEINFO_MIME_TYPE);
    $mimeType = finfo_file($finfo, $fp);
    fclose($fp);

    return $mimeType;
}

$url = "https://example.com/path/to/your/file";
$mimeType = getMimeType($url);
echo "The MIME type of the file is: " . $mimeType;

这个示例中,我们首先使用 cURL 从给定的 URL 下载文件到内存中,然后使用 finfo_file 函数获取文件的 MIME 类型信息。

0