Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> fsockopen zamiast file..., sciaganie strony...
flasht
post
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 4.03.2004

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


Witam!

Jak za pomoca fsockopen zrealizowac cos co dziala dokladnie tak samo jak $strona = file('http://adres_strony') ? Zeby wkladal do array kazda linijke oddzielnie...

Z gory dziekuje!
Pozdrawiam.
Go to the top of the page
+Quote Post
NuLL
post
Post #2





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Nie lepiej za pomocą fopen ?

Co do pytania:

Otwierasz plik, piszesz prostego while'a czytającego plik linia po linii i po wszystkim.
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


  1. <?php
  2.  
  3. $fp = pfsockopen(&#092;"www.strona.pl\", 80, $errno, $errstr);
  4. if (!$fp) {
  5.  echo &#092;"$errstr ($errno)<br/>n\";
  6. } else {
  7.  fputs($fp, &#092;"GET /folder/plik.htm HTTP/1.1rn\");
  8.  fputs($fp, &#092;"Host: www.strona.plrn\");
  9.  fputs($fp, &#092;"Connection: closernrn\");
  10.  fwrite($fp, $out);
  11.  while (!feof($fp)) {<p></p>
  12.  $cache .= fgets($fp, 128);
  13.  }
  14.  fclose($fp);
  15. }
  16. echo $cache;
  17.  
  18. ?>
Go to the top of the page
+Quote Post
flasht
post
Post #4





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 4.03.2004

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


Cytat(ActivePlayer @ 2005-06-12 21:14:49)
  1. <?php
  2.  
  3. $fp = pfsockopen(&#092;"www.strona.pl\", 80, $errno, $errstr);
  4. if (!$fp) {
  5.    echo &#092;"$errstr ($errno)<br/>n\";
  6. } else {
  7.    fputs($fp, &#092;"GET /folder/plik.htm HTTP/1.1rn\");
  8.    fputs($fp, &#092;"Host: www.strona.plrn\");
  9.    fputs($fp, &#092;"Connection: closernrn\");
  10.    fwrite($fp, $out);
  11.    while (!feof($fp)) {<p></p>
  12.        $cache .= fgets($fp, 128);
  13.    }
  14.    fclose($fp);
  15. }
  16. echo $cache;
  17.  
  18. ?>

Bylbym wdzieczny za czytanie tego co napisalem. Problem nie polega w tym jak uzyc fsockopen ale jak to zrobic zeby wynik zostal wwalony do array z oryginalnym rozdzieleniem linijek jak przy file.

A co do pytania czy nie lepiej fopen to raczej nie lepiej, bo pewnie wystepuje ten sam problem - ze jesli na serwerze jest jakies przekierowanie typu: http://nbp.pl -> http://nbp.pl/home.aspx to mowi 404 - not found.
Go to the top of the page
+Quote Post
NuLL
post
Post #5





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


To sobie prezrób ten skrypt - podmiana jednej max. 2 linii.
Go to the top of the page
+Quote Post
flasht
post
Post #6





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 4.03.2004

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


Cytat(NuLL @ 2005-06-13 09:21:45)
To sobie prezrób ten skrypt - podmiana jednej max. 2 linii.

Gdybym wiedzial jak, to bym nie wysylal tego posta na forum php początkujący... ;-( Nie naleze do takich osob co to pierw pytaja a pozniej szukaja chyba ze chodzi o konkretne funkcje. A powyzszy przyklad to juz dawno probowalem na wszelakie sposoby przerabiac bo na php.net zagladam przed php.pl.

Pozdrawiam.
Go to the top of the page
+Quote Post
NuLL
post
Post #7





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Dam sobie obciąć głowę za to że na php.net nawet nie zaglądnąłeś. I nie udawaj, że jesteś początkujący. Początkujący może i jesteś, ale barziej niż początkujący jesteś LENIWY - następny topic tego typu i dostaniesz ostrzeżenie - i jak mi się przypomni to jeszcze za ten temat drugie.
  1. <?php
  2.  
  3. function myFile($adres){
  4. $cache=array();
  5.  
  6. $fp = pfsockopen($adres, 80, $errno, $errstr);
  7. if (!$fp) {
  8.  echo &#092;"$errstr ($errno)<br/>n\";
  9. } else {
  10.  fputs($fp, &#092;"GET /folder/plik.htm HTTP/1.1rn\");
  11.  fputs($fp, &#092;"Host: \".$adres.\"rn\");
  12.  fputs($fp, &#092;"Connection: closernrn\");
  13.  fwrite($fp, $out);
  14.  while (!feof($fp)) {
  15.  $cache[]= fgets($fp, 128);
  16.  }
  17.  fclose($fp);
  18. }
  19. return $cache;
  20. }
  21. ?>
Go to the top of the page
+Quote Post
flasht
post
Post #8





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 4.03.2004

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


Cytat(NuLL @ 2005-06-13 09:44:52)
Dam sobie obciąć głowę za to że na php.net nawet nie zaglądnąłeś. I nie udawaj, że jesteś początkujący. Początkujący może i jesteś, ale barziej niż początkujący jesteś LENIWY - następny topic tego typu i dostaniesz ostrzeżenie - i jak mi się przypomni to jeszcze za ten temat drugie.
  1. <?php
  2.  
  3. function myFile($adres){
  4. $cache=array();
  5.  
  6. $fp = pfsockopen($adres, 80, $errno, $errstr);
  7. if (!$fp) {
  8.    echo &#092;"$errstr ($errno)<br/>n\";
  9. } else {
  10.    fputs($fp, &#092;"GET /folder/plik.htm HTTP/1.1rn\");
  11.    fputs($fp, &#092;"Host: \".$adres.\"rn\");
  12.    fputs($fp, &#092;"Connection: closernrn\");
  13.    fwrite($fp, $out);
  14.    while (!feof($fp)) {
  15.        $cache[]= fgets($fp, 128);
  16.    }
  17.    fclose($fp);
  18. }
  19. return $cache;
  20. }
  21. ?>

Nie bede tutaj rozpoczynal zadnej wojny, szczegolnie ze jestem z gory na przegranej pozycji. Skoro nie zagladalem to powiedz mi jedno... Skad niby wiem ze kod podany przez ActivePlayer'a pochodzi wlasnie z php.net?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) To ze 999 osob na 1000 pierw pyta a z tego 9/999 w ogole szuka a nie pyta dalej nie znaczy ze ja jestem jedna z nich! Niby skad ja mialem wiedziec ze da sie tak zrobic: "$cache=array();" (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? Droga jaka szedlem zgodnie ze wskazowkami google raczej kierowala mnie w strone explode wzgledem \n i \nr co bylo totalna bzdura i w ogole nie dzialalo!

No koniec wywodu nie na temat.
Dziekuje za pomoc.
Pozdrawiam.
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: 6.10.2025 - 05:34