PHP函数获取文件扩展名
任何人都可以帮我更改此脚本以使用 preg_split (php.net 推荐的替代品)而不是不再使用的 split 。此函数获取变量 $filename 中任何上传文件的文件扩展名。
function findExtension ($filename)
{
$filename = strtolower($filename) ;
$exts = split("[/\\.]", $filename) ;
$n = count($exts)-1;
$exts = $exts[$n];
return $exts;
}
Can anyone help me change this script to use preg_split (recommended substitute by php.net) instead of split which is not used anymore. This function gets the file extension of any uploaded file in the variable $filename.
function findExtension ($filename)
{
$filename = strtolower($filename) ;
$exts = split("[/\\.]", $filename) ;
$n = count($exts)-1;
$exts = $exts[$n];
return $exts;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
您应该只使用 pathinfo 代替:
You should just use pathinfo instead:
你为什么不使用这个函数: http://www.php .net/manual/fr/function.finfo-file.php 或这个:https://www.php.net/manual/fr/function.pathinfo.php
你也可以使用explode
Why don't u use this function : http://www.php.net/manual/fr/function.finfo-file.php or this one : https://www.php.net/manual/fr/function.pathinfo.php
you can also use explode
您可以使用
explode
split >。由于您只需要扩展名,因此没有理由用/
分割,只需按点分割并使用array_pop
。Instead of
split
you can just useexplode
. As you just want the extension, there's no reason to split by/
, just split by the dot and get the last element witharray_pop
.我更喜欢 David Walsh 发布的函数,它使用“strrchr”函数获取最后一次出现的“.”在一个字符串中。
I prefer a function David Walsh posted, that uses the "strrchr" function to get the last occurrence of "." in a string.
如果文件扩展名是您唯一想要的部分:
If the file extension is the only part you want:
也许是这样的?
Perhaps something along these lines?
我的代码将给出文件扩展名,删除查询字符串。
pathinfo
还返回带有字符串的扩展名。因此,如果您想知道确切的文件名,请使用我的代码:My code will give file extension, removing query strings.
pathinfo
also return extension with string. so use my code if you want to know the exact file name: