2013-02-01 51 views
1

我想列出目录wallpaper/中的所有文件。这个目录里面有超过1000个文件夹,主要是名人名字,比如安吉丽娜琼利等,并且在那个文件夹里有几个图片用于那个名人。从包括文件夹和子文件夹的目录列出文件名

我想列出总路径 所有文件,如http://xyz.com/wallpaper/angelina joulie/angeli1243.jpg

我试图scandir()readdir()​​3210但都仅列出当前目录。

请告诉如何列出所有文件的完整路径,包括给定的目录

+0

类似的问题http://stackoverflow.com/questions/1240462/php-convert-file-system-path-to-url – EricSonaron

+1

但你有没有尝试过'glob(“wallpaper/*/*”)'? –

+0

@jack不,我已经试过一颗星 – raviloves

回答

0

如果你只需要在走两个层次,这将是更容易使用​​3210:

glob("wallpaper/*/*") 

会遍历所有的直接目录下wallpaper/

+0

我想上传数据到MySQL表,但无论任何差距是不是在那里,所有的行都在新的行,它的工作,但无论哪条线是这样的www.xyz.com/xyzk/dhdjje ejjj.jpg它打破和存储单词数据库任何新的教程可以请你建议进口rt数据 – raviloves

0

你需要一个递归函数的子目录。这是一个经过测试和正常工作的示例函数。

function recursiveReaddir($folderPath = '.') 
{ 
    $ignore = array('cgi-bin', '.', '..'); 
    $handle = @opendir($folderPath); 
    while (false !== ($file = readdir($handle))) { 

     if (!in_array($file, $ignore)) { 
      if (is_dir("$folderPath/$file")) { 
       $return[$file] = recursiveReaddir("$folderPath/$file"); 
      } else { 
       $return [] = $file; 
      } 
     } 
    } 

    closedir($handle); 
    return $return; 
} 
$rez = recursiveReaddir('path/to/file'); 
print_r($rez); 
+0

更新和测试,现在按预期工作。 –

+0

没有输出即将到来 – raviloves

+0

是的,它返回一个数组,你可以随心所欲地做任何你想做的事 –

相关问题