我使用scandir()来检查一个目录文件,它可以正确地使用来自root的路径,比如/dir 1/dir 2/......(dir 1不在我的. php文件后面,它是root中的一个文件夹)
但是当在相同的路径上使用is_dir和is_file时,它会输出错误的结果
我怎样才能解决这个问题?
请试试这个
function getDirContents($dir) {
$handle = opendir($dir);
if (!$handle) return array();
$contents = array();
while $entry = readdir($handle)) {
if ($entry=='.' || $entry=='..') continue;
$entry = $dir.DIRECTORY_SEPARATOR.$entry;
if (is_file($entry)) {
$contents[] = $entry;
} else if (is_dir($entry)) {
$contents = array_merge($contents, getDirContents($entry));
}
}
closedir($handle);
return $contents;
}
$directoryPath = 'Path to folder';
$getDirContents = getDirContents($directoryPath);
echo "<pre>";
print_r(getDirContents );
echo "</pre>";
只需看看PHP自己的DirectoryIterator对象,它比单个函数更快、更详细。
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
if (!$fileinfo->isDot()) {
var_dump($fileinfo->getFilename());
}
}
这段代码直接从留档中取出。它获取当前执行文件的当前目录并遍历它。只要当前的$fileinfo不是一个点,它就会转储该目录中文件和子目录的文件名。
我有一个名为myPro s的库,看起来像这样 我有一个。外部调用的proto文件称为示例。应该导入hello的proto。协议 所以文件的顶部看起来像这样: 现在,当我编译示例时。proto在示例中出现导入错误。pb。go因为它有导入行import“path/to/myProtos/proto/hello.pb.go” 我尝试添加两个导入路径,但出现“导入但未使用”错误。我还尝试进行相对导入,并将
此方法用于确定文件是否确实是文件。 此方法是filelib库的一部分。 语法 (Syntax) is_file(filename) 参数 (Parameters) filename - 如果文件名是文件,则需要确定该文件名。 返回值 (Return Value) 是的,如果文件存在且确实是文件。 例如 (For example) -module(helloworld). -export([st
问题内容: 我正在编写一个PHP脚本,该脚本将一系列生成的文件(使用)下载到一个目录中,然后使用该命令将其压缩。 下载可以完美运行,并且大多数情况下都可以压缩。我运行命令: 它会生成一个包含所有下载文件的zip文件,但是在到达目录之前它包含完整目录。 我可能只是从zip命令中丢失了一个标志或一些小标志,但是如何将其用作根目录? 问题答案: 我不认为zip可以这样做。我认为唯一的方法是: (反斜杠只
问题内容: 仅选择目录,如何使用JFileChooser获取目录的绝对路径? 问题答案: 用: 和…一起: 然后调用返回的对象。
此方法用于确定目录是否确实是目录。 此方法是filelib库的一部分。 语法 (Syntax) is_dir(directoryname) 参数 (Parameters) directoryname - 这是目录名称,如果它是目录,则需要确定该目录名称。 返回值 (Return Value) 是的,如果目录存在且确实是目录。 例如 (For example) -module(helloworld
我有一个简单的骆驼路线,从Kafka的主题消费。做一些处理并写回另一个Kafka主题。 我怀疑Kafka可能是一个请求-应答交换,响应被反馈给源endpoint。因此尝试向Seda添加“waitfortasktoComplete=Never”。但没有成功。 任何帮助都将不胜感激。