Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Sprawdzanie zmian na stronie
Forum PHP.pl > Forum > Gotowe rozwiązania
Kuscik
Witam
Jestem nowy i początkujący z PHP
Jeśli piszę w niewłaściwym dziale to z góry przepraszam smile.gif

Czy jest taka możliwość aby pobrać kod źródłowy jakiejś strony, zapisać jego odpowiedni wycinek (lub całość) a następnie za jakiś czas ponownie pobrać z tej samej strony kod źródłowy zapisać ten sam odpowiedni wycinek kodu (lub całość) i sprawdzić czy w tej części kodu strony została dokonana jakaś zmiana od poprzedniego pobrania?

Chodzi o to że chciałbym mieć możliwość sprawdzenia czy na wybranej stronie zmienił się konkretny obrazek lub konkretna część strony albo przynajmniej czy w ogóle na całej stronie zaszła jakaś zmiana

Czy jest taka możliwość? Jeśli tak czy jest to trudne "zadanie" dla początkującego z php?
Czy ktoś mógłby w tym temacie coś mi pomóc/podpowiedzieć?


A może łatwiej będzie np pobrać kod źródłowy strony i sprawdzić czy występuje w nim określony ciąg znaków np. nazwa pliku obrazka który chce sprawdzić czy uległ zmianie lub tekst na stronie który chce sprawdzić i w przypadku nie znalezienia takiego ciągu znaków wyświetlenie odpowiedniego komunikatu?

Pozdrawiam
piotrex41
Do pobierania treści jakiejś innej strony możesz wykorzystać cURL.
Do wyciągnięcia odpowiedniej części strony użyj wyrażeń regularnych.
Aby regularnie pobierać stronę co jakiś czas, użyj CRONa.
Pobrane dane możesz zapisać do bazy lub pliku i po ponownym pobraniu, możesz porównywać albo kawałeczek kodu, albo cały, np. pętlą sprawdzając znak po znaku, czy jest identyczny (mało optymalne rozwiązanie).
Ogólnie zadanie chyba jest dość trudne dla początkującego smile.gif
kristaps
Ewentualnie/bodajże są systemy zarządzania treścią, które sprawdzają czy w danym dokumencie została wprowadzana jakaś zmiana względem drugiego - gdzieś mi się obiło o uszy. Może w ten sposób warto to ugryźć, jeżeli nie będziesz robił tego cyklicznie.
Kuscik
Skoro to trudny temat dla początkującego to może znajdzie się ktoś kto mi pomoże? Nie wiem jak to ogryźć a potrzebuje takiego skryptu jak najszybciej... Mogę nawet zapłacić wink.gif
aras785
Skrypt sprawdza czy są jakiekolwiek zmiany na stronie , jeśli są to najnowszą wersje przenosi do pliku strona_old i nową zapisuje do strona_new (tak abyś mógł później porównać, dlatego nie nadpisuje). Nie sprawdzałem skryptu. Na szybko. Może Ci się przyda.

  1. <?php
  2. $link = 'http://forum.php.pl'; //link do strony
  3. $strona_new = 'strona_new.txt'; //najnowszy zapis strony
  4. $strona_old = 'strona_old.txt'; // starsza wersja strony - do porównania
  5.  
  6. if(file_get_contents($link)!=file_get_contents($strona_new)) {
  7. file_put_contents($strona_old,$strona_new); //zapis najnowszej wersji do starego pliku - strona_old.txt -> strona_new.txt
  8. file_put_contents($strona_new,file_get_contents($link)); //zapis najnowszej wersji - strona_new.txt
  9. echo('Strony różnią się!');
  10. }else {
  11. echo('Masz najnowszą wersje!');
  12. }
  13. ?>
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-2024 Invision Power Services, Inc.