Strict Standards: Non-static method Advanced_Permalinks::get() should not be called statically in /blog/wp-content/plugins/advanced-permalinks/advanced-permalinks.php on line 825

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method GoogleSitemapGeneratorLoader::Enable() should not be called statically in /blog/wp-includes/plugin.php on line 123

Warning: call_user_func_array() expects parameter 2 to be array, null given in /blog/wp-includes/plugin.php on line 123
[PHP] Jak obliczyć czas, który upłynął od ostaniej modyfikacji strony/pliku? » Porady PHP » egrafik.pl
BAZA WIEDZY
KURSY
Bazy danych w PHP
Kurs AdvancedAJAX
Kurs ASP
Kurs ASP.NET
Kurs C++
Kurs CSS
Kurs HTML
Kurs HTML drugi
Kurs JavaScript
Kurs MySQL
Kurs PHP
Kurs RSS
Kurs XHTML
Obiekty DOM
MANUALE
CSS1 - W3C
DOM - w budowie
PHP 2005
PHP 2006
Wyrażenia regularne
SHOUTBOX
STAT
Online: 9 | UU: 187

Strict Standards: Resource ID#116 used as offset, casting to integer (116) in /forum2/db/mysql4.php on line 223

Strict Standards: Resource ID#116 used as offset, casting to integer (116) in /forum2/db/mysql4.php on line 224
[PHP] Jak obliczyć czas, który upłynął od ostaniej modyfikacji strony/pliku?
Porady PHP | 18 luty 2009 | Wizyt: 106148

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Deprecated: Function eregi() is deprecated in /blog/wp-content/plugins/tpbc.php on line 96

W tej poradzie przedstawię w jaki sposób napisać funkcję, aby w przyjazny sposób informowała ile czasu minęło od ostatniej modyfikacji strony lub dowolnego pliku na serwerze.

Przykład:

Kod: php

<?php
//Deklaracja funkcji
function ost_mod($nazwa_pliku)
{

// pobranie unixowej daty ostatniej modyfikacji pliku
$ostatnio_modyfikowany = filemtime($nazwa_pliku);

// obliczenie ile sekund minelo od ostatniej modyfikacji do teraz
$roznica_czas = time() - $ostatnio_modyfikowany;

// Jezeli roznica jest mniejsza niz 3600 sekund (godzina)
if ($roznica_czas < 3600)
{
 // Jezeli roznica jest mniejsza niz 120 sekund (2 minuty)
 if ($roznica_czas < 120)
 {
  $komunikat = "1 minute temu.";
 }
 // Jezeli roznica jest wieksza niz 120 sekund
 else
 {
  $komunikat = intval($roznica_czas / 60) . " minuty temu.";
 }
}

// Jezeli roznica jest mniejsza niz 7200 sekund (2 godziny)
else if ($roznica_czas < 7200)
{
 $komunikat = "1 godzine temu.";
}

// Jezeli roznica jest mniejsza niz 86400 sekund (jedna doba)
else if ($roznica_czas < 86400)
{
 $komunikat = intval($roznica_czas / 3600) . " godziny temu.";
}

// Jezeli roznica jest mniejsza niz 172800 sekund (2 doby)
else if ($roznica_czas < 172800)
{
 $komunikat = "1 dzien temu.";
}

// Jezeli roznica jest mniejsza niz 604800 sekund (1 tydzien)
else if ($roznica_czas < 604800)
{
 $komunikat = intval($roznica_czas / 86400) . " dni temu.";
}

// Jezeli roznica jest mniejsza niz 1209600 sekund (2 tygodnie)
else if ($roznica_czas < 1209600)
{
 $komunikat = "1 tydzen temu.";
}

// Jezeli roznica jest mniejsza niz 31449600 sekund (52 tygodnie, ~rok)
else if ($roznica_czas < 31449600)
{
 $komunikat = intval($roznica_czas / 604900) . " tygodnie temu.";
}

// Jezeli roznica nie miesci sie w powyzszych warunkach
else
{
 $komunikat = "bardzo dawno temu";
}

return "Ostatnio zmodyfikowany: ".$komunikat;
}

// wywolanie funkcji
echo ost_mod("przykladowa_strona.php");
?>

W ostatniej linijce powyższego kodu wyświetlamy to co zwraca funkcja, do której podstawiliśmy jako argument plik: przykladowa_strona.html.

Funkcja pobiera jako argument nazwę pliku, następnie pobiera dla tego pliku datę ostatniej modyfikacji i oblicza w sekundach ile czasu od ostatniej modyfikacji minęło do chwili obecnej. Poszczególne warunki w funkcji określają w sekundach odpowiednie przedziały czasowe. Jeżeli czas, który upłynął od ostatniej modyfikacji do chwili obecnej mieści się w którymś z tych przedziałów, zwracany jest odpowiedni komunikat.

Warto przetestować tę funkcję na różnych plikach by sprawdzić jakie wartości zwróci.

Autor: Adam Suchowski

nowe Porady PHP » zobacz wszystkie
Dodaj komentarz









Komentarze
Jeden komentarz
16 lipiec 2017, godz. 1:51

Entdecken Sie dabei vielerlei interessante Baudenkmäler und nehmen Sie an den weit über pass
away Stadtgrenzen hinaus bekannten Kulturveranstaltungen teil, wie
z.B. den Kleist-Festtagen, die hier stattfinden.

 
| | | |
Copyright © 2006-2013 egrafik.pl | Kontakt | Reklama | Projekty domów
jocker