Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kopiowanie plików graficznych i fsockopen
intol
post
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 1
Dołączył: 29.07.2003

Ostrzeżenie: (10%)
X----


Czy ktoś mógłby przytoczyć fragment kodu, który po podaniu linku (np. www.onet.pl/grafika.jpg) otwiera połączenie za pomocą fsockopen z serwerem, i kopiuje wskazany w linku plik do własnego katalogu?

Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Bez pelnej obslugi bledow i wyrazen regularnych
  1. <?php
  2. $iError = 0;
  3. $sError_msg = '';
  4. if ( ( $handle = fsockopen( '127.0.0.1', 80, $iError, $sError_msg ) ) === FALSE )
  5. {
  6. print( &#092;"ERROR ( $iError ): $sError_msg<br />n\" );
  7. die();
  8. }
  9.  
  10. $command = &#092;"GET /sciezka/obrazek_zrodlowy.png HTTP/1.1nHost: 127.0.0.1nn\";
  11. // na koncu MUSZA byc 2 x n
  12.  
  13. if ( fwrite( $handle, $command ) === FALSE )
  14. {
  15. print( &#092;"Write ERROR<br />n\" );
  16. }
  17.  
  18. $data = '';
  19.  
  20. while ( feof( $handle ) === FALSE )
  21. {
  22. $data .= fread( $handle, 8192 );
  23. }
  24.  
  25. // znajdz dlugosc pliku (w bajtach) w zmiennej $data, [Content-Length: xxxxx]
  26. // przydadza sie wyrazenia regularne, z ktorymi u mnie kiepsko (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
  27. $dlugosc_pliku = ...
  28.  
  29. // i wyciągnij z $data ostatnie xxxx bajtow -- to bedzie obrazek
  30. $obraz = substr( $data, strlen( $data ) - $dlugosc_pliku, $dlugosc_pliku );
  31.  
  32. // zapisz obraz
  33. file_put_contents( 'obraz.png', $obraz );
  34. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 13:40