从dir-(php)获取信息时遇到的问题
这是我的代码:从dir-(php)获取信息时遇到的问题,php,Php,这是我的代码: $flags=FileSystemIterator::CURRENT_AS_FILEINFO | FileSystemIterator::SKIP_DOTS; $ul = new FileSystemIterator(__DIR__."/../",$flags); // $ul = new FileSystemIterator("/../",$flags); foreach($ul as $file){ if($file->isDir()){ pri
$flags=FileSystemIterator::CURRENT_AS_FILEINFO | FileSystemIterator::SKIP_DOTS;
$ul = new FileSystemIterator(__DIR__."/../",$flags);
// $ul = new FileSystemIterator("/../",$flags);
foreach($ul as $file){
if($file->isDir()){
print $file->getFilename()."<br />";
}
}
$flags=filesystemitter::CURRENT_AS_FILEINFO | filesystemitter::SKIP_;
$ul=新的文件系统发射器($flags);
//$ul=新的文件系统发射器(“///”,$flags);
foreach($ul作为$file){
如果($file->isDir()){
打印$file->getFilename()。“
”;
}
}
它的目录是/var/www/html/dir1/dir2/dir3/test.php
它显示为命令的结果:ls/var/www/html/dir1/dir2/
替换$ul=新的文件系统发射器($flags)代码>
使用$ul=newfilesystememitter(“/../”,$flags)代码>
它显示为命令的结果:ls/var/www/html/dir1/
为什么会发生第二次显示?var\u dump(\uuuuu DIR\uuuu./../”,realpath(\uuuu DIR\uuuuu./../”),“/../”,realpath(“/../”)代码>应该显示它们之间的差异吗?它确实显示了它们之间的差异。但我不明白为什么会出现这种差异?默认情况下,在“/../”之前是什么?“/../”意味着从“根”开始,之前没有任何内容,因此忽略了dotdot
。它只是指向同一个目录,而不是父目录。或者文件系统将其视为特殊情况。结果是一样的。