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

Rol*_*and 5 php

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

我可以通过以下方式获得它

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

$ext = end(explode('.',$_FILES['File']['name']));
echo $ext;
Run Code Online (Sandbox Code Playgroud)

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

jen*_*ram 13

pathinfo($_FILES['File']['name'], PATHINFO_EXTENSION)

  • 尽可能使用内置函数(同时@Sarfraz说),
  • 仅提取所需信息(options = PATHINFO_EXTENSION)

  • 但不要相信输入!不允许执行上传的文件,最好将上传的文件移到`DocumentRoot`之外,这样即使它是可执行的,用户也找不到它. (5认同)