当目录路径中有空间时,以下函数不起作用。例如,在以下路径中,目录名称是包含空格的"堆栈Overflow_files"。
$dir = '/home/mamun/workspace/barj/barj/barj/Sequence/Stack Overflow_files';
$scanned_directory = array_diff(scandir($dir, 0), array('..', '.'))
或
$dh = opendir($dir);
while (false !== ($filename = readdir($dh))) {
$scanned_directory[] = $filename;
}
我可以从运行 ls '$dir' 的终端中找到解决方案。 但是在 PHP 中有什么方法可以获取目录列表吗?
替代解决方案
$URL = str_replace(" ","%20","../pasta1/pasta com espaco/pasta2");<br>
$arquivos = scandir($URL);
<br>
echo $arquiovos[0];<br>
echo $arquiovos[1];<br>
尝试使用反斜杠转义空格-
$dir = '/home/mamun/workspace/barj/barj/barj/Sequence/Stack Overflow_files';
尝试 urlencoding。目录路径可能像
$dir = '/home/mamun/workspace/barj/barj/barj/Sequence/Stack%20Overflow_files';
尝试
$dir = urlencode('/home/mamun/workspace/barj/barj/barj/Sequence/Stack Overflow_files');
兄弟这是最终的解决方案
$path="/var/www/images";
$dir="带空格的文件夹";
$files=scandir("${path}/${dir}");
和宾果游戏