Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.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
从dir-(php)获取信息时遇到的问题_Php - Fatal编程技术网

从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
。它只是指向同一个目录,而不是父目录。或者文件系统将其视为特殊情况。结果是一样的。