Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Ostatnio modyfikowany katalog/plik
Forum PHP.pl > Forum > Przedszkole
matiit
[PHP] pobierz, plaintext
  1. function ostatnio_modyfikowany()
  2. {
  3. $handler=opendir("/zdjecia/");
  4. $maxtime = 0;
  5. while(false!==($plik = readdir($handler)))
  6. {
  7. $tymczas = filemtime($plik);
  8. $maxtime = $tymczas;
  9. break;
  10. }
  11. while(false!==($plik = readdir($handler)))
  12. {
  13. $tymczas = filemtime($plik);
  14. if($maxtime <= $tymczas)
    {$najnowszy = $plik;
  15. $maxtime = filemtime($plik);
    }
    }
  16. return $najnowszy;
  17. closedir($handler);
  18. }
[PHP] pobierz, plaintext

Macie może pomysł jak to zoptymalizować?
darko
Można na przykład tak:

  1. function getLastModified($folder_name) {
  2. $last_modified = -1;
  3. if(is_dir($folder_name)) {
  4. if($handle = opendir($folder_name)) {
  5. while(false !== ($file = readdir($handle))) {
  6. if($file != "." && $file != "..") {
  7. $lm = filemtime($file);
  8. if($lm > $last_modified) {
  9. $last_modified = $lm;
  10. }
  11. }
  12. }
  13. closedir($handle);
  14. }
  15. }
  16. else {
  17. die("nie ma takego folderu!");
  18. }
  19.  
  20. if($last_modified > -1) {
  21. return date ("Y-m-d H:i:s",$last_modified);
  22. }
  23. else {
  24. return false;
  25. }
  26. }
  27. echo getLastModified(".");


Można też dodać $format jako kolejny argument do funkcji i ustalić, że np. jeśli $format=="timestamp" to zwróć samo $last_modified, jeśli =="date", to zwróć datę w formacie (to też można podać jako kolejny parametr) np. YYYY-MM-DD HH:MM:SS, można wreszcie dodać jeszcze jeden argument do funkcji i sprawdzać go w zależności od wartości zamiast daty funkcja może zwrócić tylko nazwę pliku, etc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.