我正在使用一个函数来显示所有文件。但我不知道如何在一个变量中使用逗号分隔然后获取数组。 这是我用过的功能。
function recursiveGlob($dir, $ext1, $ext2, &$array) {
$globFiles = glob("$dir/*.$ext1");
$globFiles2 = glob("$dir/*.$ext2");
$globDirs = glob("$dir/*", GLOB_ONLYDIR);
foreach ($globDirs as $dir) {
recursiveGlob($dir, $ext1, $ext2);
}
foreach ($globFiles as $file) {
// print "$file<br>"; // Replace '\n' with '<br />' if outputting to browser
$array[] = $file;
}
foreach ($globFiles2 as $file) {
// print "$file<br>"; // Replace '\n' with '<br />' if outputting to browser
$array[] = $file;
}
}
$array = array ();
recursiveGlob('C:\wamp\www\scanner\scanner', 'png', 'js', $array);
这可能是一个愚蠢的问题。但请帮助我。
答案 0 :(得分:2)
看起来最终你想要一个包含你找到的每个文件的数组,只需要替换
print $file;
通过
$array[] = $file;
然后,使用引用在您的递归函数中发送此数组:
function recursiveGlob($dir, $ext1, $ext2, &$array)
并使用它:
$array = array ();
recursiveGlob('C:\wamp\www\scanner\scanner', 'png', 'js', $array);
// At this point, $array will be an array with every files you found.
告诉我,如果我的问题正确,如果你需要在路径级别订购你的阵列,不确定你在寻找什么,但它会产生更清晰的阵列。
另一个没有引用并返回数组的解决方案:
function recursiveGlob($dir, $ext1, $ext2) {
$globFiles = glob("$dir/*.$ext1");
$globFiles2 = glob("$dir/*.$ext2");
$globDirs = glob("$dir/*", GLOB_ONLYDIR);
$array = array ();
$array_file = array ();
foreach ($globDirs as $dir) {
$array = array_merge ($array, recursiveGlob($dir, $ext1, $ext2));
}
foreach ($globFiles as $file) {
// print "$file<br>"; // Replace '\n' with '<br />' if outputting to browser
$array_file[] = $file;
}
$array = array_merge ($array, $array_file);
$array_file = array ();
foreach ($globFiles2 as $file) {
// print "$file<br>"; // Replace '\n' with '<br />' if outputting to browser
$array_file[] = $file;
}
$array = array_merge ($array, $array_file);
return $array;
}
$results = recursiveGlob('C:\wamp\www\scanner\scanner', 'png', 'js');
答案 1 :(得分:0)
试试这个:
<?php
$iterator = new DirectoryIterator("folder name");
foreach ($iterator as $fileinfo) {
if ($fileinfo->isFile()) {
if ($fileinfo->getExtension() == "jpg" || $fileinfo->getExtension() == "js"){
echo $fileinfo->getBasename('.'.$fileinfo->getExtension())."<br>";
}
}
}
?>