0

您可以在 linux 中执行命令,而不是使用finfo文件来检索content-type

if(PHP_OS == 'WINNT'){
    $finfo = new finfo(FILEINFO_MIME);
    $content_type = $finfo->file($file);
}
else{
    $content_type = shell_exec("file -bi $file");
}

如果您想检索content-type文件作为字符串,您可以这样做

$finfo = new finfo(FILEINFO_MIME);
$content_type = $finfo->buffer($data);

但是有没有一种替代方法可以content-type在 linux 命令行中将文件内容作为字符串获取?

4

1 回答 1

1

还有另一种选择:finfo在 Linux 和 Windows 上都使用。

顺便说一句:你有一个 shell 命令注入漏洞。文件名没有被转义——这就是像escapeshellargs()这样的函数的用途。始终使用它们!

于 2013-05-20T22:48:33.683 回答