Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Sprawdzanie zmian na stronie, Pytanie
Kuscik
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 19.12.2012

Ostrzeżenie: (0%)
-----


Witam
Jestem nowy i początkujący z PHP
Jeśli piszę w niewłaściwym dziale to z góry przepraszam (IMG:style_emoticons/default/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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
piotrex41
post
Post #2





Grupa: Zarejestrowani
Postów: 168
Pomógł: 26
Dołączył: 15.09.2011
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
kristaps
post
Post #3





Grupa: Zarejestrowani
Postów: 279
Pomógł: 36
Dołączył: 1.03.2012

Ostrzeżenie: (0%)
-----


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.

Ten post edytował kristaps 19.12.2012, 11:58:06
Go to the top of the page
+Quote Post
Kuscik
post
Post #4





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 19.12.2012

Ostrzeżenie: (0%)
-----


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ć (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
aras785
post
Post #5





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 04:16