Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyświetlenie ostatnio utworzonego pliku z katalogu
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
majsterpstryk
Czy jest jakaś funkcja która pobiera nazwe ostatnio utworzonego pliku z wybranego katalogu . Chce wyświetlić tylko ostatnio utworzony plik jako załącznik . jak to zrobić ?
zend
Czytasz katalog i filemtime sprawdzasz wartości modyfikacji pliku. O czytaniu katalogu był dziś wątek w przeczkolu więc sobie znajdź
majsterpstryk
  1. function getAllFiles($directory, $recursive = true) {
  2. $result = array();
  3. $handle = opendir($directory);
  4. while ($datei = readdir($handle))
  5. {
  6. if (($datei != '.') && ($datei != '..'))
  7. {
  8. $file = $directory.$datei;
  9. if (is_dir($file)) {
  10. if ($recursive) {
  11. $result = array_merge($result, getAllFiles($file.'/'));
  12. }
  13. } else {
  14. $result[] = $file;
  15. }
  16. }
  17.  
  18. }
  19. closedir($handle);
  20. return $result;
  21. }
  22.  
  23. function getHighestFileTimestamp($directory, $recursive = true) {
  24. $allFiles = getAllFiles($directory, $recursive);
  25. $highestKnown = 0;
  26. foreach ($allFiles as $val) {
  27. $currentValue = filemtime($val);
  28. if ($currentValue > $highestKnown)
  29. $highestKnown = $currentValue;
  30.  
  31.  
  32. }
  33. return $highestKnown;
  34. }
  35. echo 'The newest file has the time stamp:<br>';
  36. echo date('Y-m-d H:i:s', getHighestFileTimestamp($pathDump));
  37.  
  38.  

Znalazłem skrypt który wyświetla mi date najnowszego pliku , jak mam go zmodyfikowac aby np do zmiennej $plik przypisąc nazwe tego pliku.
zend
  1. function getAllFiles($directory, $recursive = true) {
  2. $result = array();
  3. $handle = opendir($directory);
  4. while ($datei = readdir($handle))
  5. {
  6. if (($datei != '.') && ($datei != '..'))
  7. {
  8. $file = $directory.$datei;
  9. if (is_dir($file)) {
  10. if ($recursive) {
  11. $result = array_merge($result, getAllFiles($file.'/'));
  12. }
  13. } else {
  14. $result[] = $file;
  15. }
  16. }
  17.  
  18. }
  19. closedir($handle);
  20. return $result;
  21. }
  22.  
  23. function getHighestFileTimestamp($directory, $recursive = true) {
  24. $allFiles = getAllFiles($directory, $recursive);
  25. $highestKnown = 0;
  26. $file = null
  27. foreach ($allFiles as $val) {
  28. $currentValue = filemtime($val);
  29. if ($currentValue > $highestKnown) {
  30. $highestKnown = $currentValue;
  31. $file = $val;
  32. }
  33.  
  34. }
  35. return array('file' => $file , 'time' => $highestKnown);
  36. }
  37. echo 'The newest file has the time stamp:<br>';
  38. $array = getHighestFileTimestamp($pathDump);
  39. echo date('Y-m-d H:i:s', $array['time']);
  40. echo 'Plik ' . $array['file'];
  41.  
  42.  
  43.  
majsterpstryk
ok wszystko działa tak jak chciałem , dzięki serdeczne
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.