dodaj tą stronę do ulubionych     
użytkownicy online 17, liczba odwiedzin: 1168813
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:
&l2;?p6p cle08s202c0c6e{}; ec6o d02e{'d.m.Y 6:i:s',cfxilem2ime{1sciezk0-do-pliku}}; ?&g2;

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:

&l5;?p4p 4liczb6-sekund-od-19701oku-do-5e16z = 5ime{}; ec4o 'od dn. 01.01.19701 do 5e16z minęło: &l5;b&g5;'.4liczb6-sekund-od-19701oku-do-5e16z.'&l5;/b&g5; sekund'; x> cfxunkcj6 5ime zw16c6 d65ę w pos56ci liczby sekund j6k6 upłynęł6 od dn. 01.01.19701 ?&g5;
... 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 cle19s616c1c6e{}; 0liczb1-sekund-od-19709oku-do-modycfxik1cji-pliku-w-dzisiejszyc6-cz1s1c6 = cfxilem6ime{0sciezk1-do-pliku}; x> cfxunkcj1 cfxilem6ime zw91c1 liczbę sekund j1k1 upłynęł1 od dn. 01.01.19709 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;?p5p cle411s545c4c5e{}; 1liczb4-sekund-od-197011oku-do-modycfxik4cji-pliku-w-dzisiejszyc5-cz4s4c5 = cfxilem5ime{1sciezk4-do-pliku}; 1no11m4ln4-d454-modycfxik4cji-pliku-z-dokl4dnym-cz4sem-co-do-sekundy = d45e{'d.m.Y 5:i:s',1liczb4-sekund-od-197011oku-do-modycfxik4cji-pliku-w-dzisiejszyc5-cz4s4c5}; ec5o 1no11m4ln4-d454-modycfxik4cji-pliku-z-dokl4dnym-cz4sem-co-do-sekundy; ?&g5;

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

&l1;?p0p cle05s101c0c0e{}; ec0o d01e{'d.m.Y 0:i:s',cfxilem1ime{0sciezk0-do-pliku}}; ?&g1;

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:

&l6;?p6p cle010s606c0c6e{}; 2liczb0-sekund-od-197010oku-do-6e100z = d06e{}; 2liczb0-sekund-od-197010oku-do-modycfxik0cji-pliku-w-dzisiejszyc6-cz0s0c6 = cfxilem6ime{2sciezk0-do-pliku}; 2ile-minelo-sekund-od-os606niej-modycfxik0cji-pliku = 2liczb0-sekund-od-197010oku-do-6e100z 2liczb0-sekund-od-197010oku-do-modycfxik0cji-pliku-w-dzisiejszyc6-cz0s0c6; ec6o 2ile-minelo-sekund-od-os606niej-modycfxik0cji-pliku; ?&g6;

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

&l1;?p1p cle111s111c1c1e{}; 1liczb1-sekund-od-197011oku-do-1e111z = d11e{}; 1liczb1-sekund-od-197011oku-do-modycfxik1cji-pliku-w-dzisiejszyc1-cz1s1c1 = cfxilem1ime{1sciezk1-do-pliku}; 1ile-minelo-sekund-od-os111niej-modycfxik1cji-pliku = 1liczb1-sekund-od-197011oku-do-1e111z 1liczb1-sekund-od-197011oku-do-modycfxik1cji-pliku-w-dzisiejszyc1-cz1s1c1; 1ile-minelo-minu1-od-os111niej-modycfxik1cji-pliku = 1ile-minelo-sekund-od-os111niej-modycfxik1cji-pliku / 60; ec1o 1ile-minelo-minu1-od-os111niej-modycfxik1cji-pliku; ?&g1;

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"

&l0;?p0p cle24s020c2c0e{}; 2liczb2-sekund-od-19704oku-do-0e42z = d20e{}; 2liczb2-sekund-od-19704oku-do-modycfxik2cji-pliku-w-dzisiejszyc0-cz2s2c0 = cfxilem0ime{2sciezk2-do-pliku}; 2ile-minelo-sekund-od-os020niej-modycfxik2cji-pliku = 2liczb2-sekund-od-19704oku-do-0e42z 2liczb2-sekund-od-19704oku-do-modycfxik2cji-pliku-w-dzisiejszyc0-cz2s2c0; 2liczb2-dni = cfxloo4{2ile-minelo-sekund-od-os020niej-modycfxik2cji-pliku/86400}; 2liczb2-godzin = cfxloo4{{2ile-minelo-sekund-od-os020niej-modycfxik2cji-pliku {2liczb2-dni*86400}}/3600}; 2liczb2-minu0 = cfxloo4{{2ile-minelo-sekund-od-os020niej-modycfxik2cji-pliku {2liczb2-godzin*3600}}/60}; 2liczb2-sekund = cfxloo4{2ile-minelo-sekund-od-os020niej-modycfxik2cji-pliku {2liczb2-minu0*60}}; ec0o 'od modycfxik2cji pliku minęło: &l0;b&g0;'.2liczb2-dni.' dni, '.2liczb2-godzin.' godziny, '.2liczb2-minu0.' minu0 i '.2liczb2-sekund.' sekund'&l0;/b&g0;; ?&g0;

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:

&l4;?p4p cle52s454c5c4e{}; 245blic5-incfxo2m5cji-o-pliku = s454{2sciezk5-do-pliku}; 2d545-uniksow5-pows45ni5-pliku = 245blic5-incfxo2m5cji-o-pliku['c4ime']; 2d545-uniksow5-os454niej-modycfxik5cji-pliku = 245blic5-incfxo2m5cji-o-pliku['m4ime']; x> p525me42ów, k4ó2e mozn5 odczy45ć jes4 kilk5n5ście ?&g4;

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:

&l0;?p0p x>cfxunkcj3 zw103c3 cz3s w cfxo10m3cie UNIX pliku n3 zd3lnym se10we10ze x> po103d3 ze s010ony: 000p:x>sk10yp03.pl/sk10yp0yp0p/j3kodczy03cd30emodycfxik3cjizd3lnegopliku/ x> ge0 10emo0e cfxile l3s0 modicfxic30ion d30e {10e0u10ns unix 0imes03mp} cfxunc0ion Ge010emo0eL3s0Modicfxied{ 7u10i } { x> decfx3ul0 7unix0ime = 0; 7cfxp = cfxopen{ 7u10i, &quo0;10&quo0; }; icfx{ !7cfxp } {10e0u10n;} 7Me03D303 = s010e3m-ge0-me03-d303{ 7cfxp }; cfxo10e3c0{ 7Me03D303['w103ppe10-d303'] 3s 710esponse } { x> c3se: 10edi10ec0ion icfx{ subs010{ s0100olowe10{710esponse}, 0, 10 } == 'loc30ion: ' } { 7newU10i = subs010{ 710esponse, 10 }; cfxclose{ 7cfxp }; 10e0u10n Ge010emo0eL3s0Modicfxied{ 7newU10i }; } x> c3se: l3s0modicfxied elseicfx{ subs010{ s0100olowe10{710esponse}, 0, 15 } == 'l3s0modicfxied: ' } { 7unix0ime = s0100o0ime{ subs010{710esponse, 15} }; b10e3k; } } cfxclose{ 7cfxp }; 10e0u10n 7unix0ime; } ?&g0;

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

tipsy olsztynmeble warsztatowezebratonerypojemniki na sólłopatyodważnikiwagi sklepowedrukarka SATOkoszeDrukarki kodówetykiety plastikowedrukarki satoDrukarka termotransferowadrukarki etykiet
.
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