我有一个index.php文件,它必须处理许多不同的文件类型。如何根据REQUEST_URI
猜测文件类型?
如果我请求http://site/image.jpg
,并且所有请求都通过看起来像这样的index.php重定向:
<?php
include('/www/site'.$_SERVER['REQUEST_URI']);
?>
如何使它正确工作?
我应该基于所请求的文件扩展名进行测试,还是有一种获取文件类型的方法?
我有一个index.php文件,它必须处理许多不同的文件类型。如何根据REQUEST_URI
猜测文件类型?
如果我请求http://site/image.jpg
,并且所有请求都通过看起来像这样的index.php重定向:
<?php
include('/www/site'.$_SERVER['REQUEST_URI']);
?>
如何使它正确工作?
我应该基于所请求的文件扩展名进行测试,还是有一种获取文件类型的方法?
如果你只是处理图片,可以使用[getimagesize()][1]
函数,它包含有关图像的各种信息,包括类型。
更一般的方法是使用PECL的FileInfo扩展。
有些人对该扩展有严重的抱怨...所以如果你遇到严重的问题或由于某些原因无法安装该扩展,你可能需要查看已弃用的函数mime_content_type()
。
我使用了一个用户函数,从http://php.net/manual/de/function.mime-content-type.php中获得了非常好的结果。@''john dot howard at prismmg dot com 26-Oct-2009 03:43''
function get_mime_type($filename, $mimePath = '../etc') { ...
它不使用finfo、exec或废弃的函数。
它也可以很好地处理远程资源!