Php 如何获取多种文件格式?

Php 如何获取多种文件格式?,php,regex,Php,Regex,我有以下代码来获取pdf文件,但我想添加一种新的文件格式 例如,在这一行elseif(1===preg\u match('/w*\.pdf$/i',$item))上,我想添加一个m4v文件格式,我试图像这样添加它,elseif(1==preg\u match('/w*\.pdf$/i'&'/w*\.m4v$/i',$item)),它不会返回错误,但现在有文件要显示,或者像这样的(1==preg\u match(('/w*\.pdf$/i',$item)&('/w*\.m4v$/i',$item)

我有以下代码来获取pdf文件,但我想添加一种新的文件格式

例如,在这一行
elseif(1===preg\u match('/w*\.pdf$/i',$item))
上,我想添加一个m4v文件格式,我试图像这样添加它,elseif
(1==preg\u match('/w*\.pdf$/i'&'/w*\.m4v$/i',$item))
,它不会返回错误,但现在有文件要显示,或者像这样的
(1==preg\u match(('/w*\.pdf$/i',$item)&('/w*\.m4v$/i',$item))
返回我这一行错误
'bad\u response\u format':'bad server response format,try to reload page',

foreach( $items as $item ) {
    if ( ('.' === $item) || ('..' === $item) ) {
    continue;
    }

    if ( is_dir( $targetFolder . '/' . $item ) ) {
        $arr2return['subfolders'][] = $item;
    } elseif ( 1 === preg_match('/w*\.pdf$/i', $item) ) {
        $arr2return['subspdfs'][] = $item;
    }
}

您可以使用
运算符:

/\w+\.(pdf|m4v)$/i
说明:

  • /
    :正则表达式的分隔符
  • \w+
    :匹配一个或多个字母数字字符
  • \.
    :匹配
    文字
  • ()
    :捕获组
  • pdf | m4v
    :匹配
    pdf
    m4v
  • $
    :以结尾
  • i
    :不区分大小写的匹配

  • 您可以使用
    运算符:

    /\w+\.(pdf|m4v)$/i
    
    说明:

  • /
    :正则表达式的分隔符
  • \w+
    :匹配一个或多个字母数字字符
  • \.
    :匹配
    文字
  • ()
    :捕获组
  • pdf | m4v
    :匹配
    pdf
    m4v
  • $
    :以结尾
  • i
    :不区分大小写的匹配

  • 不要通过文件结尾.pdf或.mp4等信任或匹配文件类型…最好使用finfo_file()或服务器操作系统函数确定文件类型不要通过文件结尾.pdf或.mp4等信任或匹配文件类型…最好使用finfo_file()或服务器操作系统函数确定文件类型