PHP中获取上传文件的扩展名的最佳方法/实践是什么?

7

我有一个表单,允许用户上传文件。但是我需要获取文件扩展名,虽然我已经能够获取到,但不确定我使用的是否是最有效的解决方案。

以下是我可以获取文件扩展名的几种方法:

$fileInfo = pathinfo($_FILES['File']['name']);
echo $fileInfo['extension'];

$ext = end(explode('.',$_FILES['File']['name']));
echo $ext;

哪种方法是最好使用的,或者是否有更好的解决方案可以获得扩展名?
3个回答

15

5
但是不要相信输入!不允许执行上传的文件,最好将上传的文件移动到DocumentRoot之外,这样即使文件可以执行,用户也无法找到它。 - Patrick

3

很好的解决方案,但对我来说不适用,因为我的开发环境目前运行的是PHP 5.1.6。 - Elitmiar
@Roland - 抛弃5.1.*,甚至5.2.*现在也不再得到支持...是时候寻找5.3了,但有时升级太麻烦了。 - ajreal
我同意你的观点,但不幸的是我不是这台机器的所有者,否则我会进行升级。 - Elitmiar

1

第一种(使用pathinfo)方法更好,原因显而易见。在功能上使用内置函数而不是重新创建它 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接