Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php glob()在访问特定文件夹时返回空数组_Php_File_Indexing_Glob - Fatal编程技术网

Php glob()在访问特定文件夹时返回空数组

Php glob()在访问特定文件夹时返回空数组,php,file,indexing,glob,Php,File,Indexing,Glob,Im使用以下功能从特定文件夹获取文件列表: $files = glob("/path/to/file/*"); 遗憾的是,当使用以下文件夹路径时,glob不会输出任何内容: $files = glob("/var/www/html/dl-meta/anime/[Erai-raws] Anime name - 01~12 [720p][Multiple Subtitle]/*"); …即使路径是100%有效的。将此路径复制到我的文件资源管理器时,效果很好(如果我们在末尾删除*) 为什么呢?我需

Im使用以下功能从特定文件夹获取文件列表:

$files = glob("/path/to/file/*");
遗憾的是,当使用以下文件夹路径时,glob不会输出任何内容:

$files = glob("/var/www/html/dl-meta/anime/[Erai-raws] Anime name - 01~12 [720p][Multiple Subtitle]/*");
…即使路径是100%有效的。将此路径复制到我的文件资源管理器时,效果很好(如果我们在末尾删除
*

为什么呢?我需要逃离什么角色?有没有其他角色我应该转义,这样以后就不会发生这种错误了


干杯。

您必须屏蔽以下角色?*[]与\如果它们对glob没有任何特殊意义

请参见中的特殊字符

更新:

我做了一些测试,发现反斜杠在Windows上不起作用。在Windows中,反斜杠是目录分隔符,因此不能用作转义字符。除少数例外情况外,此表达式可用作Linux和Windows的转义函数:

$path = preg_replace('~[\[?{]~','[$0]',$path);
$files = glob($path.'/*');

如果启用了GLOB_BRACE选项,则这在具有{}的Windows上不起作用。GLOB()的GLOB_支架在某些Unix/Linux系统上不可用。

有什么想法吗?我在这里完全迷路了..你想得到本地计算机文件的名称吗?你怎么能逃脱它们?我试过
quotemeta()$path = preg_replace('~[\[?{]~','[$0]',$path);
$files = glob($path.'/*');