php读取目录中所有文件名(含子目录)

比如discuz读取用户图像很有意思!

路径没有保存到数据库,而是直接读取某文件夹下的图片文件,当然图像的命名是有一定规则的

比如:uid:251210

那么此用户的图像地址是:

http://www.xxx.com/uc/data/avatar/000/25/12/10_avatar_middle.jpg

 

 
  
  1. <?php 
  2.  
  3. /*方法一*/ 
  4.  
  5. /*$dir="./ext/"; 
  6. $file=scandir($dir); 
  7. print_r($file);*/ 
  8.  
  9. /*方法二*/ 
  10.  
  11. /*$dir = "./ext/"; 
  12. if (is_dir($dir)) { 
  13. if ($dh = opendir($dir)) { 
  14. while (($file = readdir($dh)) !== false) { 
  15. echo "filename: $file : filetype: " . filetype($dir . $file) . "<br>"; 
  16. } 
  17. closedir($dh); 
  18. } 
  19. }*/ 
  20. function searchDir($path,&$data){ 
  21. if(is_dir($path)){ 
  22. $dp=dir($path); 
  23. while($file=$dp->read()){ 
  24. if($file!='.'&& $file!='..'){ 
  25. searchDir($path.'/'.$file,$data); 
  26. $dp->close(); 
  27. if(is_file($path)){ 
  28. $data[]=$path
  29.  
  30. function getDir($dir){ 
  31. $data=array(); 
  32. searchDir($dir,$data); 
  33. return   $data
  34.  
  35. echo '<pre />'
  36. print_r(getDir('./user')); 
  37. echo '<pre />'
  38. ?>