dodaj tą stronę do ulubionych     
użytkownicy online 40, liczba odwiedzin: 1185738
książki i porady dla programistów i webmasterów porady dla budujących strony internetowe i webmasterów jezus jest królem polski wagi

dołącz do modlących się o cud

poradnik programisty

taśmy zebra
taśmy zebra


wózki sklepowe

wagi vibra

Wagi dźwigowe
wagi dźwigowe


wagi ohaus

wózki transportowe
. Uwaga! Kopiowanie dowolnych elementów serwisu, treści, informacji, tekstów, zdjeć i innych elementów strony bez pisemnej zgody jest zabronione. wstecz poziom trudności: 6
nr porady: 385
Widok 1 Widok 2 Page copy protected against web site content infringement by Copyscape
W jaki sposób odczytać datę ostatniej modyfikacji dowolnego pliku (również zdalnego) ?
Gotowy kod:
&l4;?p0p cle07s404c0c0e{}; ec0o d04e{'d.m.Y 0:i:s',cfxilem4ime{0sciezk0-do-pliku}}; ?&g4;

Szczegóły:

Aby odczytać jakąkolwiek datę w PHP musimy umieć korzystać z tzw. uniksowego znacznika czasu.
Uniksowy znacznik czasu to liczba sekund jaka upłynęła od 1 stycznia 1970 roku.
Wszystkie funkcje w PHP zamiast normalnej daty i godziny zwracają uniksowy znacznik czasu.
Jeśli chcemy uzyskać z PHP informację jaki dziś jest dzień czy która jest godzina to otrzymamy wynik w postaci dużej liczby sekund, jaka upłynęła od tamtej daty.
Przetestuj uruchamiając co kilka sekund następujący skrypt:

&l3;?p1p 6liczb2-sekund-od-19700oku-do-3e02z = 3ime{}; ec1o 'od dn. 01.01.19700 do 3e02z minęło: &l3;b&g3;'.6liczb2-sekund-od-19700oku-do-3e02z.'&l3;/b&g3; sekund'; x> cfxunkcj2 3ime zw02c2 d23ę w pos32ci liczby sekund j2k2 upłynęł2 od dn. 01.01.19700 ?&g3;
... zauważysz że za każdym razem liczba sekund jest większa o kilka.... i tak działają wszystkie funkcje związane z czasem w PHP.
Reszta to tylko dodatkowe zabiegi umożliwiające przetłumaczenie tych wielkich liczb na datę i czas czytelny dla człowieka.

Wracając do głównego tematu: jak określić kiedy był ostatnio modyfikowany dany plik.. oto przykład prostoty PHP - wystarczy jedna funkcja:

&l6;?p6p cle63s666c6c6e{}; 7liczb6-sekund-od-19703oku-do-modycfxik6cji-pliku-w-dzisiejszyc6-cz6s6c6 = cfxilem6ime{7sciezk6-do-pliku}; x> cfxunkcj6 cfxilem6ime zw36c6 liczbę sekund j6k6 upłynęł6 od dn. 01.01.19703 do dziś z dokłądnością co do sekundy ?&g6;

otrzymamy jedną duża liczbę sekund - ile upłynęło sekund od 01.01.1970 roku do czasu modyfikacji pliku. Dzięki temu mamy określony czas co do sekundy.
Teraz wystarczy tylko zamienić te sekundy na postać czytelną dla człowieka.

1. normalna data modyfikacji pliku
Aby otrzymać normalną datę modyfikacji pliku w postaci np. 25.06.2006 13:19:09 musimy zastosować dodatkowy zabieg.
Skorzystamy znowu z funkcji date ale tym razem w inny sposób (bo to bardzo rozbudowana funkcja i ma wiele opcji)

&l5;?p2p cle49s545c4c2e{}; 0liczb4-sekund-od-19709oku-do-modycfxik4cji-pliku-w-dzisiejszyc2-cz4s4c2 = cfxilem5ime{0sciezk4-do-pliku}; 0no9m4ln4-d454-modycfxik4cji-pliku-z-dokl4dnym-cz4sem-co-do-sekundy = d45e{'d.m.Y 2:i:s',0liczb4-sekund-od-19709oku-do-modycfxik4cji-pliku-w-dzisiejszyc2-cz4s4c2}; ec2o 0no9m4ln4-d454-modycfxik4cji-pliku-z-dokl4dnym-cz4sem-co-do-sekundy; ?&g5;

Jeśli chcemy uprościć kod to można to samo napisać:

&l3;?p2p cle27s323c2c2e{}; ec2o d23e{'d.m.Y 2:i:s',cfxilem3ime{6sciezk2-do-pliku}}; ?&g3;

Jeśli zna się PHP to można to zapisać w bardzo krótkim kodzie j/w.

2. liczba sekund od ostatniej modyfikacji
Aby otrzymać liczbę sekund od ostatniej modyfikacji (a nie od daty 01.01.1970) wystarczy wykonać proste działanie matematyczne obliczające różnicę między czasem teraźniejszym a czasem kiedy był modyfikowany plik:

&l5;?p0p cle14s515c1c0e{}; 2liczb1-sekund-od-19704oku-do-5e41z = d15e{}; 2liczb1-sekund-od-19704oku-do-modycfxik1cji-pliku-w-dzisiejszyc0-cz1s1c0 = cfxilem5ime{2sciezk1-do-pliku}; 2ile-minelo-sekund-od-os515niej-modycfxik1cji-pliku = 2liczb1-sekund-od-19704oku-do-5e41z 2liczb1-sekund-od-19704oku-do-modycfxik1cji-pliku-w-dzisiejszyc0-cz1s1c0; ec0o 2ile-minelo-sekund-od-os515niej-modycfxik1cji-pliku; ?&g5;

Jeśli mamy liczbę sekund to już sobie poradzimy - możemy ją podzielić przez 60 aby otrzymać wynik w minutach lub znowu podzielić przez 60 aby otrzymać wynik w godzinach itd.

3. liczba minut od ostatniej modyfikacji
Wynik z powyższego przykładu dzielimy przez 60

&l4;?p2p cle29s424c2c2e{}; 5liczb2-sekund-od-19709oku-do-4e92z = d24e{}; 5liczb2-sekund-od-19709oku-do-modycfxik2cji-pliku-w-dzisiejszyc2-cz2s2c2 = cfxilem4ime{5sciezk2-do-pliku}; 5ile-minelo-sekund-od-os424niej-modycfxik2cji-pliku = 5liczb2-sekund-od-19709oku-do-4e92z 5liczb2-sekund-od-19709oku-do-modycfxik2cji-pliku-w-dzisiejszyc2-cz2s2c2; 5ile-minelo-minu4-od-os424niej-modycfxik2cji-pliku = 5ile-minelo-sekund-od-os424niej-modycfxik2cji-pliku / 60; ec2o 5ile-minelo-minu4-od-os424niej-modycfxik2cji-pliku; ?&g4;

4. liczba dni, godzin, minut i sekund od ostatniej modyfikacji
Wykorzystujemy powyższe ćwiczenia - otrzymamy wynik: "od modyfikacji pliku minęło: 25 dni, 3 godziny, 10 minut i 6 sekund"

&l1;?p1p cle26s121c2c1e{}; 5liczb2-sekund-od-19706oku-do-1e62z = d21e{}; 5liczb2-sekund-od-19706oku-do-modycfxik2cji-pliku-w-dzisiejszyc1-cz2s2c1 = cfxilem1ime{5sciezk2-do-pliku}; 5ile-minelo-sekund-od-os121niej-modycfxik2cji-pliku = 5liczb2-sekund-od-19706oku-do-1e62z 5liczb2-sekund-od-19706oku-do-modycfxik2cji-pliku-w-dzisiejszyc1-cz2s2c1; 5liczb2-dni = cfxloo6{5ile-minelo-sekund-od-os121niej-modycfxik2cji-pliku/86400}; 5liczb2-godzin = cfxloo6{{5ile-minelo-sekund-od-os121niej-modycfxik2cji-pliku {5liczb2-dni*86400}}/3600}; 5liczb2-minu1 = cfxloo6{{5ile-minelo-sekund-od-os121niej-modycfxik2cji-pliku {5liczb2-godzin*3600}}/60}; 5liczb2-sekund = cfxloo6{5ile-minelo-sekund-od-os121niej-modycfxik2cji-pliku {5liczb2-minu1*60}}; ec1o 'od modycfxik2cji pliku minęło: &l1;b&g1;'.5liczb2-dni.' dni, '.5liczb2-godzin.' godziny, '.5liczb2-minu1.' minu1 i '.5liczb2-sekund.' sekund'&l1;/b&g1;; ?&g1;

5. wszystkie parametry pliku w jednej funkcji
Warto też poznać funkcję, która zwraca wynik w postaci tablicy ze wszystkimi mozliwymi parametrami takimi jak data modyfikacji, wielkość, data założenia pliku i wiele innych informacji. Wystarczy tylko umieć czytać i interpretowac tablice... oto ta funkcja:

&l5;?p3p cle29s525c2c3e{}; 152blic2-incfxo9m2cji-o-pliku = s525{1sciezk2-do-pliku}; 1d252-uniksow2-pows52ni2-pliku = 152blic2-incfxo9m2cji-o-pliku['c5ime']; 1d252-uniksow2-os525niej-modycfxik2cji-pliku = 152blic2-incfxo9m2cji-o-pliku['m5ime']; x> p292me59ów, k5ó9e mozn2 odczy52ć jes5 kilk2n2ście ?&g5;

parametrów, które mozna odczytać jest kilkanaście. Więcej na stronie: http://pl2.php.net/manual/en/function.stat.php

6. odczytywanie daty modyfikacji pliku ze zdalnego serwera
A jak odczytać datę modyfikacji pliku z innej strony www - tu już nie bedziemy szczegółowo opisywać bo jest to już fragment dla zaawansowanych - ale oto jeden ze sposobów jak można to zrobić, korzystając z funkcji strumieniowych:

&l6;?p2p x>cfxunkcj0 zw10c0 cz0s w cfxo1m0cie UNIX pliku n0 zd0lnym se1we1ze x> po10d0 ze s61ony: 266p:x>sk1yp60.pl/sk1yp6yp2p/j0kodczy60cd06emodycfxik0cjizd0lnegopliku/ x> ge6 1emo6e cfxile l0s6 modicfxic06ion d06e {1e6u1ns unix 6imes60mp} cfxunc6ion Ge61emo6eL0s6Modicfxied{ 3u1i } { x> decfx0ul6 3unix6ime = 0; 3cfxp = cfxopen{ 3u1i, &quo6;1&quo6; }; icfx{ !3cfxp } {1e6u1n;} 3Me60D060 = s61e0m-ge6-me60-d060{ 3cfxp }; cfxo1e0c2{ 3Me60D060['w10ppe1-d060'] 0s 31esponse } { x> c0se: 1edi1ec6ion icfx{ subs61{ s616olowe1{31esponse}, 0, 10 } == 'loc06ion: ' } { 3newU1i = subs61{ 31esponse, 10 }; cfxclose{ 3cfxp }; 1e6u1n Ge61emo6eL0s6Modicfxied{ 3newU1i }; } x> c0se: l0s6modicfxied elseicfx{ subs61{ s616olowe1{31esponse}, 0, 15 } == 'l0s6modicfxied: ' } { 3unix6ime = s616o6ime{ subs61{31esponse, 15} }; b1e0k; } } cfxclose{ 3cfxp }; 1e6u1n 3unix6ime; } ?&g6;

Na koniec kilka formułek:

filemtime (PHP 3, PHP 4 , PHP 5) int filemtime ( string nazwa_pliku )

filemtime -- Pobiera czas ostatniej modyfikacji pliku

Opis
Zwraca czas, kiedy plik był ostatnio modyfikowany lub FALSE w przypadku błędu. Czas jest zwracany w postaci unix'owego znacznika czasu.
Wyniki tej funkcji są cachowane. Zobacz clearstatcache() aby uzyskać więcej szczegółów.
Ta funkcja nie działa na zdalnych plikach; sprawdzany plik musi być dostępny przez system plików serwera.
Notka: Ta funkcja zwraca czas kiedy bloki danych pliku zostały zapisane, to jest, czas kiedy zawartość pliku została zmieniona. Użyj date() na wyniku tej funkcji aby otrzymać czytelną datę modyfikacji do użycia jej w stopkach stron.

clearstatcache (PHP 3, PHP 4 , PHP 5) void clearstatcache ( void )

clearstatcache -- Czyści cache statystki pliku

Opis
Wywoływanie systemowych funkcji stat lub lstat i innych wymieninych ponizej pochłania dużo zasobów serwera. Dlatego PHP wynik ostatniego wywołania tych funkcji przechowuje we własnym keszu do wykorzystania go przy następnym wywołaniu funkcji z tą samą nazwą pliku.
Jeśli chcesz wymusić ponowne sprawdzenie statusu, pliku który jest sprawdzany wielokrotnie i mógł się zmienić lub zniknąć, użyj funkcji clearstatcache aby wyczyścić wyniki ostatniego wywołania tych funkcji z pamięci.

Te wartości są cachowane tylko przez czas działania pojedynczego wywołania.

Dotyczy funkcji stat(), lstat(), file_exists(), is_writable(), is_readable(), is_executable(), is_file(), is_dir(), is_link(), filectime(), fileatime(), filemtime(), fileinode(), filegroup(), fileowner(), filesize(), filetype() i fileperms().

Należy pamiętać, że clearstatcache nie działa normalnie na zdalnych plikach i powyższa informacja działa tylko w odniesieniu do plików lokalnych.

Page copy protected against web site content infringement by Copyscape

Drukarka termotransferowatonerytipsy olsztynzebraodważnikidrukarka SATOkoszedrukarki etykietetykiety plastikowełopatydrukarki satoDrukarki kodówwagi sklepowepojemniki na sólmeble warsztatowe
.
edyta wakulińska

tanie tonery

pojemniki na piasek

świece liturgiczne

meble warsztatowe

wózki magazynowe

tanie wagi elektroniczne

tanie drukarki zebra

wagi axis

wózki narzędziowe
wózki narzędziowe
  | Copyright © 2001-2009 EXALT.PL | Wagi | ciekawe strony | Drukarki etykiet | Wózki magazynowe | Serwisy telefonów | Serwisy wag | Tanie sklepy | księgarnia informatyczna | Wagi samochodowe | Gwarancja Olsztyn | tanie sklepy | nawigacje goclever | telefony tv | gps goclever