Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak dodać funkcje sprawdzającą i odpowiednio wyświetlającą date plików.
Forum PHP.pl > Forum > Przedszkole
infinity223
Witam,

Jak narazie metodą prób i błędów posiadam taki kod:

  1. <?
  2. //folder w którym mam demka
  3. $folder = "dema";
  4.  
  5. $ext = array('gz');
  6.  
  7. $sciezka = pathinfo($_SERVER['PHP_SELF']);
  8. $adres = 'http://'.$_SERVER['HTTP_HOST'].$sciezka['dirname'].'/';
  9.  
  10. $files = scandir($folder);
  11. $list = array();
  12.  
  13. foreach($files as $file)
  14. {
  15. $file = pathinfo($file);
  16. if (in_array($file['extension'], $ext))
  17. {
  18. $list[] = $file['basename'];
  19. }
  20. }
  21. rsort($list, SORT_STRING);
  22.  
  23. echo '<center><table>
  24. <tr><td width="150"><center>Kopiuj link</center></td><td width="150"><center>Mapa</center></td><td width="150"><center>Data</center></td><td width="100"><center>Poczatek mapy</center></td><td width="150"><center>Rozmiar</center></td><td>Pobierz</td></tr>';
  25.  
  26. foreach ($list as $nazwa)
  27. {
  28. $demo = $folder.'/'.$nazwa;
  29. $dane = explode('-', $nazwa);
  30.  
  31. $data = $dane[1];
  32. $rok = substr($data, 0, 2);
  33. $mies = substr($data, 2, 2);
  34. $dzien = substr($data, 4, 2);
  35. $godz = substr($data, 6, 2);
  36. $min = substr($data, 8, 2);
  37.  
  38. $data = '20'.$rok.'-'.$mies.'-'.$dzien;
  39. $godzina = $godz.':'.$min;
  40.  
  41. $mapa = $dane[2];
  42. $mapa = explode('.', $mapa);
  43. $mapa = $mapa[0];
  44.  
  45. $rozmiar = round( filesize($demo) / 1024 / 1024, 2);
  46.  
  47. echo '<tr>
  48. <td><input type="text" value="'.$adres.$demo.'" readonly="yes" onclick="this.select()" /></td>
  49. <td><center>'.$mapa.'</center></td>
  50. <td><center>'.$data.'</center></td>
  51. <td><center>'.$godzina.'</center></td>
  52. <td><center>'.$rozmiar.' MB</center></td>
  53. <td><center><a href="'.$adres.$demo.'">Pobierz</a></center></td>
  54. </tr></center>';
  55. }
  56. ?>


Potrzebuje dodać do tego kodu kilka prostych rzeczy:
- Wyświetlanie w tabeli godziny(Godzina:Minuta) ostatniej modyfikacji danych plików
- Podział tabelki na dni w których pliki zostały ostatni raz zmodyfikowane
Dni powinny być w formacie DD-MM-RRRR

Czyli przykładowo byłoby menu z datami i po kliknięciu w daną date wyświetlają się demka tylko z tego dnia.
Co do dat to jest zrobione:
  1. $data


Dzięki z góry i w razie czego proszę pytać ^^
RAV_8
Poczytaj o Filemtime
infinity223
Co do drugiego podpunktu ?

# EDIT
Co do tego linka. Mógły ktoś to wkomponować w mój kod ? Bo mi coś nie wychodzi.
IProSoft
Przykład prosto z manuala:
Cytat
echo "$filename was last modified: " . date ("F d Y H:i:s.", filemtime($filename))

z czym masz dokkładnie problem?
infinity223
W podczepieniu zmiennej
zamiast $filename na właściwą.

Za każdym razem albo:
- Mam białą strone
- Nie pokazuje nic w Odpowiednim polu.

Robie tak:

  1. <?
  2. //folder w którym mam demka
  3. $folder = "dema";
  4.  
  5. $ext = array('gz');
  6.  
  7. $sciezka = pathinfo($_SERVER['PHP_SELF']);
  8. $adres = 'http://'.$_SERVER['HTTP_HOST'].$sciezka['dirname'].'/';
  9.  
  10. $files = scandir($folder);
  11. $list = array();
  12.  
  13. foreach($files as $file)
  14. {
  15. $file = pathinfo($file);
  16. if (in_array($file['extension'], $ext))
  17. {
  18. $list[] = $file['basename'];
  19. }
  20. }
  21. rsort($list, SORT_STRING);
  22.  
  23. echo '<center><table>
  24. <tr><td width="150"><center>Kopiuj link</center></td><td width="150"><center>Mapa</center></td><td width="150"><center>Data</center></td><td width="100"><center>Poczatek mapy</center></td><td width="150"><center>Rozmiar</center></td><td>Pobierz</td></tr>';
  25.  
  26. foreach ($list as $nazwa)
  27. {
  28. $demo = $folder.'/'.$nazwa;
  29. $dane = explode('-', $nazwa);
  30.  
  31. $data = $dane[1];
  32. $rok = substr($data, 0, 2);
  33. $mies = substr($data, 2, 2);
  34. $dzien = substr($data, 4, 2);
  35. $godz = substr($data, 6, 2);
  36. $min = substr($data, 8, 2);
  37.  
  38. $data = '20'.$rok.'-'.$mies.'-'.$dzien;
  39. $godzina = $godz.':'.$min;
  40.  
  41. $mapa = $dane[2];
  42. $mapa = explode('.', $mapa);
  43. $mapa = $mapa[0];
  44.  
  45. $zmiana = date("F d Y H:i:s.", filemtime($filename));
  46.  
  47. $rozmiar = round( filesize($demo) / 1024 / 1024, 2);
  48.  
  49. echo '<tr>
  50. <td><input type="text" value="'.$adres.$demo.'" readonly="yes" onclick="this.select()" /></td>
  51. <td><center>'.$mapa.'</center></td>
  52. <td><center>'.$data.'</center></td>
  53. <td><center>'.$zmiana.'</center></td>
  54. <td><center>'.$rozmiar.' MB</center></td>
  55. <td><center><a href="'.$adres.$demo.'">Pobierz</a></center></td>
  56. </tr></center>';
  57. }
  58. ?>

Dodałem pola:
  1. $zmiana = date("F d Y H:i:s.", filemtime($filename));

Oraz:
Wcześniejsze:
  1. <td><center>'.$godzina.'</center></td>

na
  1. <td><center>'.$zmiana.'</center></td>
IProSoft
A masz taką zmienną jak $filename?
  1. $demo
infinity223
No ok. Działa jak należy.

  1. <?
  2. //folder w którym mam demka
  3. $folder = "dema";
  4.  
  5. $ext = array('gz');
  6.  
  7. $sciezka = pathinfo($_SERVER['PHP_SELF']);
  8. $adres = 'http://'.$_SERVER['HTTP_HOST'].$sciezka['dirname'].'/';
  9.  
  10. $files = scandir($folder);
  11. $list = array();
  12.  
  13. foreach($files as $file)
  14. {
  15. $file = pathinfo($file);
  16. if (in_array($file['extension'], $ext))
  17. {
  18. $list[] = $file['basename'];
  19. }
  20. }
  21. rsort($list, SORT_STRING);
  22.  
  23. echo '<center><table>
  24. <tr><td width="150"><center>Kopiuj link</center></td><td width="170"><center>Mapa</center></td><td width="120"><center>Data</center></td><td width="100"><center>Poczatek mapy</center></td><td width="100"><center>Koniec mapy</center></td><td width="100"><center>Rozmiar</center></td></tr>';
  25.  
  26. foreach ($list as $nazwa)
  27. {
  28. $demo = $folder.'/'.$nazwa;
  29. $dane = explode('-', $nazwa);
  30.  
  31. $data = $dane[1];
  32. $rok = substr($data, 0, 2);
  33. $mies = substr($data, 2, 2);
  34. $dzien = substr($data, 4, 2);
  35. $godz = substr($data, 6, 2);
  36. $min = substr($data, 8, 2);
  37.  
  38. $data = '20'.$rok.'-'.$mies.'-'.$dzien;
  39. $godzina = $godz.':'.$min;
  40.  
  41. $mapa = $dane[2];
  42. $mapa = explode('.', $mapa);
  43. $mapa = $mapa[0];
  44.  
  45. $zmiana = date("H:i", filemtime($demo));
  46.  
  47. $rozmiar = round( filesize($demo) / 1024 / 1024, 2);
  48.  
  49. echo '<tr>
  50. <td><input type="text" value="'.$adres.$demo.'" readonly="yes" onclick="this.select()" /></td>
  51. <td><center>'.$mapa.'</center></td>
  52. <td><center>'.$data.'</center></td>
  53. <td><center>'.$godzina.'</center></td>
  54. <td><center>'.$zmiana.'</center></td>
  55. <td><center>'.$rozmiar.' MB</center></td>
  56. <td><center><a href="'.$adres.$demo.'">Pobierz</a></center></td>
  57. </tr></center>';
  58. }
  59. ?>


Na tą chwile taki mam kod.

Cytat
- Podział tabelki na dni w których pliki zostały ostatni raz zmodyfikowane
Dni powinny być w formacie DD-MM-RRRR

Czyli przykładowo byłoby menu z datami i po kliknięciu w daną date wyświetlają się demka tylko z tego dnia.
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-2025 Invision Power Services, Inc.