PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php-使用fnmatch()匹配多个文件扩展名大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

在典型的文件匹配代码中:

while (false !== ($file = readdir($handlE))) {
    if ($file !== "." && $file !== ".." && fnmatch($mask, $filE)) {
        $dirList[] = $file;
    }
}

我试图使用这样的多文件扩展名模式:

$mask = "*.{jpg,png,gif}";

但这不起作用.没有文件匹配.这很奇怪,因为相同的模式在终端中可以正常工作.它也可以与glob()完美配合,返回我想要的文件.我知道其余的代码没有什么问题,因为使用“ * .jpg”作为掩码也可以与fnmatch一起使用. fnmatch是否应该支持sHell中可用的相同模式?

解决方法:

不支持.

AFAIK *.{ext,alt}是SHell Glob的ksh和bash扩展.而且fnmatch()是系统功能,但是功能在Unix变体之间有所不同(BSD拥有,而Linux / glibc似乎没有).我相信有一个FNM_EXTMATCH常量可以使{alt}工作.但是PHP不支持/不支持它.

但是,您可以仅将glob()与GLOB_BRACE选项配合使用,该选项支持上述.{jpeg,png,gif}匹配.这样,您将为自己保存一个readdir().

大佬总结

以上是大佬教程为你收集整理的php-使用fnmatch()匹配多个文件扩展名全部内容,希望文章能够帮你解决php-使用fnmatch()匹配多个文件扩展名所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: