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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 20:44