Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Lista plików z subkatalogów, W PHP5 uzywany jest scandir, jak w PHP4
skrobi
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 16.01.2003

Ostrzeżenie: (0%)
-----


Wiem że w PHP5 funkcją scandir można wypisać wszytkie istniejące pliki w katalogu głónym i subkatalogach, jak zrobić to w starszej wersji php ?

Ten post edytował skrobi 27.07.2004, 20:32:55
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
broU
post
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.07.2004

Ostrzeżenie: (0%)
-----


nie będę się chwalił (IMG:http://forum.php.pl/style_emoticons/default/aarambo.gif) , ale napisałem ostatnio skrypt do przeglądania katalogów (: jak narazie bug'ów w nim nie znalazłem , więc jak ktoś może , niech rzuci okiem .

  1. <?php
  2.  
  3. $start = 'folder'; // startowy folder [ matka ]
  4.  
  5. function fol($poz, $fold) // $poz , $folder
  6. {
  7. if(!isset($fold)) {
  8. global $start;
  9. $folder = $start;
  10. } else {
  11. $folder = $fold;
  12. }
  13. $fol = opendir($folder);
  14. while(false !== ($file = readdir($fol)))
  15. {
  16. if($file != '.' && $file != '..') {
  17. if(is_dir($folder.'/'.$file)) {
  18. $foldery[] = $file;
  19. } else {
  20. $pliki[] = $file;
  21. }
  22. }
  23. }
  24. closedir($fol);
  25. if(isset($foldery)) {
  26. $g = 1;
  27. sort($foldery);
  28. reset($foldery);
  29. for($i=0;$i<count($foldery);$i++)
  30. {
  31. if($g == $poz) {
  32. $folder = $foldery[$i];
  33. return $folder;
  34. break;
  35. } else {
  36. $g++;
  37. }
  38. }
  39. }
  40. return $folder;
  41. }
  42.  
  43. if(isset($_GET['id'])) {
  44. $id = $_GET['id'];
  45. $level = strlen($id);
  46. for($i=0;$i<$level;$i++)
  47. {
  48. $poziom[] = substr($id,$i,1);
  49. }
  50. } else {
  51. $id = 0;
  52. $poziom = array();
  53. $poziom[] = 0;
  54. }
  55. for($i=0;$i<count($poziom);$i++)
  56. {
  57. $poz = $poziom[$i];
  58. if(isset($folder)) { 
  59. $temp .= $fold.'/';
  60. $folder = $temp;
  61. }
  62. $fold = fol($poz, $folder);
  63. $folder = $temp.$fold;
  64. }
  65. $fol = opendir($folder);
  66. while(false !== ($file = readdir($fol)))
  67. {
  68. if($file != '.' && $file != '..') {
  69. if(is_dir($folder.'/'.$file)) {
  70. $foldery[] = $file;
  71. } else {
  72. $pliki[] = $file;
  73. }
  74. }
  75. }
  76. closedir($fol);
  77. if(isset($foldery)) {
  78. sort($foldery);
  79. reset($foldery);
  80. $strId = 1;
  81. for($i=0;$i<count($foldery);$i++)
  82. {
  83. echo &#092;"<img src=\"img/fol.gif\\" align=\"top\" /> <a href=\"$PHP_SELF?id=$id$strId\">$foldery[$i]</a>\";
  84. $strId += 1;
  85. echo '<br />';
  86. }
  87. }
  88. if(isset($pliki)) {
  89. sort($pliki);
  90. reset($pliki);
  91. for($i=0;$i<count($pliki);$i++)
  92. {
  93. echo &#092;"<img src=\"img/fil.gif\\" align=\"top\" /> $pliki[$i]\";
  94. echo '<br />';
  95. }
  96. }
  97.  
  98.  
  99. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 07:29