Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Notka w bazie o edycji pliku PHP
Forum PHP.pl > Forum > Przedszkole
kubek3898
Czy można zabezpieczyć plik PHP tak, by za każdą jego edycją, bądź samym otwarciem zapisywało do bazy informacje o IP itp.?

Najważniejsza dla mnie jest odpowiedź, na pierwszą część pytania, z zapisywaniem danych sobie poradzę.
Michael2318
Cytat
Czy można zabezpieczyć plik PHP tak, by za każdą jego edycją, bądź samym otwarciem zapisywało do bazy informacje o IP itp.?


Co do otwarcia - dodajesz po prostu na poczatku pliku:
  1. $sql = "INSERT INTO `logs` (`log_user_ip`, `log_time`) VALUES (".$id.", ".time().").";
  2. if ( !($result = mysql_query($sql)) )
  3. {
  4. die('error in sql insert<br>'.mysql_error());
  5. }


Co do edycji to przecież plik php można edytować tylko 'ręcznie' (trzeba go zrzucić na kompa i zedytować, więc jak sobie to wyobrażasz??
kubek3898
Źle sprecyzowałem. Chcę by wstawiało info do bazy, kiedy plik zostanie zmodyfikowany np. zmieni się liczba bajtów.

Kod który dałeś zadziała, ale gdy wpiszę w przeglądarce http://adres.pl/plik.php to też zapisze, a ja chcę by tylko przy otwarciu kodu pliku np. przez FTP.

A edytować można i bezpośrednio na serwerze, tylko że faktycznie jest to nieporęczne.
Michael2318
getlastmod lub filemtime i zapisujesz do bazy ostatnią aktualizację tego pliku (czas).
Potem robisz z tym co chcesz (czyli jeśli czas edycji pliku się zmieni to może wywalić jakieś info czy coś).

EDIT:

ew. filesize i też zapisujesz do bazy, potem porównujesz jak uwazasz za stosowne.
kubek3898
Dziękuję,funkcje bardzo mi pomogą, a pewnie nawet rozwiążą mój problem, niestety teraz tego nie sprawdzę, gdyż piszę z telefonu.

Oczywiście leci pomógł, jutro się odezwę czy zadziałało. Na razie powiedz mi proszę czy schematycznie coś takiego:

  1. if(getlastmod() > CZAS_UNIKS_KIEDY_PLIK_BYL_NIEZMODYFIKOWANY)
  2. {
  3. ZAPYTANIE_DO_BAZY;
  4. }


nadawał by się?
Michael2318
może być, jasne wink.gif
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.