Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Kopia strony do pliku html
szmerak
post
Post #1





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


Czy jest jakaś możliwość w PHP aby skrypt zrobił dokładną kopie html wpisanej strony i zapisał do pliku na serwerze?

Znalazłem taki skrypcik
  1. <?php
  2. $ip = $_SERVER["REMOTE_ADDR"];
  3.  
  4. function GetPage($url, $ip, $timeout = 5)
  5. {
  6. $result = '';
  7. $url = parse_url($url);
  8.  
  9. if(!isset($url['port'])) $url['port'] = 80;
  10. $port = $url['port'];
  11. if(strlen($url['path']) == 0) $url['path'] = '/';
  12.  
  13. if ($fp = @fsockopen($url['host'], $port, $errno, $errstr, $timeout))
  14. {
  15. fputs($fp,
  16. "GET " . $url['path'] . " HTTP/1.0r\n" .
  17. "Host: " . $url['host'] . ($port != 80 ? ':' . $port : '') . "r\n" .
  18. "Accept: text/html; */*r\n" .
  19. "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)r\n" .
  20. "X_Forwarded_For: " . $ip . "r\n" .
  21. "Via: " . $ip . "r\n" .
  22. "Client-IP: " . $ip . "r\n" .
  23. "Connection: closer\nr\nr\n");
  24.  
  25. while (!feof($fp) && ($buf = fread($fp, 8192))) $result .= $buf;
  26.  
  27. fclose($fp);
  28. return $result;
  29. } else
  30. echo "Błąd $errno: $errstr !";
  31.  
  32. return false;
  33. }
  34.  
  35.  
  36.  
  37. $zzz = GetPage('http://www.szmerak.pl', '83.9.251.98');
  38. $plik=fopen("katalogi/strona2.html", "w+");
  39. fwrite($plik, $zzz);
  40. fclose($plik);
  41. ?>

Ale zapisuje on do pliku
Bad Request

Your browser sent a request that this server could not understand.
Request header field is missing ':' separator.

Ten post edytował szmerak 13.12.2010, 04:13:23
Go to the top of the page
+Quote Post
Smertius
post
Post #2





Grupa: Zarejestrowani
Postów: 156
Pomógł: 31
Dołączył: 23.02.2009
Skąd: Sanok

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


Przecież masz jasno napisane dlaczego otrzymujesz komunikat "bad request"
Go to the top of the page
+Quote Post
szmerak
post
Post #3





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


Nie znam się na Curlu ;/ Napisałem że znalazłem ten skrypcik nawet nie wiem która funkcja nawala. Dlatego też tutaj napisałem.
Proszę o jakieś wskazówki
Go to the top of the page
+Quote Post
strife
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Cytat(szmerak @ 13.12.2010, 07:09:09 ) *
Nie znam się na Curlu ;/ Napisałem że znalazłem ten skrypcik nawet nie wiem która funkcja nawala. Dlatego też tutaj napisałem.
Proszę o jakieś wskazówki

Wskazówki masz umieszczone w błędzie który dostałeś, założę się że nawet nie szukałeś rozwiązania via google.

Nie wiem po co Ci CURL i co dokładnie chcesz zapisywać, ale może wystarczy Ci taka konstrukcja (o ile serwer Ci na to pozwoli):

  1. file_put_contents('webpage.html', file_get_contents('http://onet.pl'));

Go to the top of the page
+Quote Post
szmerak
post
Post #5





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


strife dzięki ci wielkie właśnie o to mi chodziło!!!!
Pozdrawiam.

P.S da się jeszcze zrobić aby pobierał razem pliki css? + obrazki?


Ten post edytował szmerak 13.12.2010, 10:10:32
Go to the top of the page
+Quote Post
strife
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Cytat(szmerak @ 13.12.2010, 08:56:52 ) *
P.S da się jeszcze zrobić aby pobierał razem pliki css? + obrazki?

Jasne, że się da, ale nie jest to prosta sprawa. Pobrany dokument musisz odpowiednio przeparsować, aby pobierał również zdjęcia/css/javascripty co wydaje się wymyślaniem koła od nowa skoro mamy taki soft jak wget.

Uprzedzam pytanie ... Tak, można wykonywać polecenia shell'a za pomocą php (szukaj).
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: 10.10.2025 - 01:38