Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Listowanie plików ze wszystkich katalogów
jurajska
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 15.12.2015

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


Cześć,
jestem zupełnie początkujący.
Mam skrypt który listuje pliki ze wszystkich katalogów. To czego w nim brakuje to pokazywania daty stworzenia, modyfikacji, coś na wzór plików "index of /" oraz wstępnego ich posortowania po tej dacie.
Oprócz tego, nie działają poprawnie odnośniki do tych plików, jeżeli zawierają polskie litery - lecz to jest wtórny problem.
Poproszę o Waszą pomoc. Z góry dziękuję, MO.
Poniżej skrypt:

  1. <?php
  2. function GetAllLinksFromDir($dir, &$array) {
  3. if($dir[strlen($dir) - 1] != '/') $dir .= '/';
  4. $hand = opendir($dir);
  5. while($file = readdir($hand))
  6. if(is_file($dir.$file))
  7. $array[] = '<a href="'.$dir.$file.'">'.$dir.$file.'</a>';
  8. elseif(is_dir($dir.$file) && $file != '.' && $file != '..')
  9. GetAllLinksFromDir($dir.$file, $array);
  10. closedir($hand);
  11. }
  12. $linki = array();
  13. GetAllLinksFromDir('.', $linki);
  14. ksort($linki);
  15. echo join("<br>\n", $linki);
  16. ?>
  17.  
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jurajska
post
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 15.12.2015

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


  1. <body>
  2. <?php
  3. $result = iconv('CP1252', 'UTF-8', $file);
  4. $search_path = './';
  5. $display = array('pdf'); // Zmienna dla wyświetlania konkretnego typu pliku
  6. $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($search_path));
  7. $data = array();
  8. if($_SERVER['REMOTE_ADDR'] !== 'XXX.XXX.XXX.XXX'){
  9. echo "Dostęp zabroniony";
  10. }
  11. foreach($files as $file) {
  12. if ($file->isDir()) {continue;}
  13. $time = DateTime::createFromFormat('U', filemtime($file->getPathname()));
  14. // no need to explode the time, just make it a datetime object
  15. // if(in_array($file->getExtension(), $display) && $time > new DateTime('2014-01-15')) { // is PHP and is greater than jan 15 2014
  16. $data[] = array('filename' => $file->getPathname(), 'time' => $time->getTimestamp()); // push inside
  17. // }
  18. }
  19.  
  20. usort($data, function($a, $b){ // sort by time latest
  21. return $b['time'] - $a['time'];
  22. });
  23.  
  24. foreach ($data as $key => $result) {
  25.  
  26. $time = date('Y-m-d H:i:s', $result['time']);
  27.  
  28. echo "
  29. <span style='color: red;'.face='Tahoma, sans-serif'>
  30. <b style='color: green;'>$time</b> <a href=\"http://mojadomena.pl/$result[filename]\"</a> $result[filename]
  31. </span>
  32. <br/>
  33. ";
  34. }
  35. ?>
  36. </body>
Go to the top of the page
+Quote Post

Posty w temacie
- jurajska   [PHP]Listowanie plików ze wszystkich katalogów   15.12.2015, 11:07:27
- - Pyton_000   Zamiast takich potworków lepiej użyć tego: [PHP] ...   15.12.2015, 11:17:50
- - jurajska   Dziękuję za szybką odpowiedź. Rzeczywiście, składn...   15.12.2015, 11:40:50
- - Pyton_000   http://stackoverflow.com/a/26602416/3732803   15.12.2015, 11:56:30
- - jurajska   Świetne, lecz listuje mi jedynie zawartość bieżące...   15.12.2015, 13:08:30
- - Pyton_000   jak dla mnie to to działa.listuje wszystkie z podk...   15.12.2015, 13:30:01
- - jurajska   Jest już OK. Mój wzrok zbłądził i nie zauważył, że...   15.12.2015, 16:00:18
- - viking   W foreach: [PHP] pobierz, plaintext if ($file-...   15.12.2015, 16:17:21
- - jurajska   Wszystko śmiga jak należy. Poniżej gotowiec dla po...   28.12.2015, 07:45:13
- - Pyton_000   [PHP] pobierz, plaintext $result = iconv('CP12...   28.12.2015, 07:53:33
- - jurajska   Próbowałem, nie zamienia. Ale biorąc pod uwagę że...   28.12.2015, 08:15:38
- - Pyton_000   Nie wiesz jaka zmienna odpowiada za nazwę pliku? ...   28.12.2015, 08:45:38
- - jurajska   Zrobiłem, niestety nie zamienia znaków. Również po...   28.12.2015, 10:00:36
- - Pyton_000   kod   28.12.2015, 10:25:22
- - jurajska   [PHP] pobierz, plaintext <body><?php $res...   28.12.2015, 10:48:08
- - Pyton_000   [PHP] pobierz, plaintext foreach($files as $fi...   28.12.2015, 10:53:54
- - jurajska   Dzięki za pomoc. Pomogło i tak i nie, a mianowici...   28.12.2015, 11:45:40
- - breadi   Witam, zastosowałem się do powyższego kodu, wszyst...   26.12.2016, 13:53:09
- - Pyton_000   basename   27.12.2016, 10:26:20


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

 



RSS Aktualny czas: 13.10.2025 - 07:03