Pobieam tresc w nastepujacy sposob:
Kod
$fp = fsockopen("www.lightspeedgalleries.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET /fg/jor/001/images/55.jpg HTTP/1.1\r\n";
$out .= "Host: www.lightspeedgalleries.com\r\n";
$out .= "Referer: http://www.lightspeedgalleries.com/fg/jor/001/index.php?r=lucas131-rev&nc=1\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$s = fgets($fp);
if(strstr($s, "\n"))
{
echo "<br>".$s;
if(strstr($s, "Content-Length:"))
{
$rozmiar=explode("Content-Length: ", $s);
$dlugosc=$rozmiar[1];
}
}
++$pp;
if ($pp=='9')
{
$dane_obrazka=fread($fp, $dlugosc);
break;
}
}
fclose($fp);
}
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET /fg/jor/001/images/55.jpg HTTP/1.1\r\n";
$out .= "Host: www.lightspeedgalleries.com\r\n";
$out .= "Referer: http://www.lightspeedgalleries.com/fg/jor/001/index.php?r=lucas131-rev&nc=1\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$s = fgets($fp);
if(strstr($s, "\n"))
{
echo "<br>".$s;
if(strstr($s, "Content-Length:"))
{
$rozmiar=explode("Content-Length: ", $s);
$dlugosc=$rozmiar[1];
}
}
++$pp;
if ($pp=='9')
{
$dane_obrazka=fread($fp, $dlugosc);
break;
}
}
fclose($fp);
}
Po 9 linijce zazyna sie tresc obrazka zapisuje ja do $dane_obrazka, nastepnie zapisuje:
Kod
$obrazek=$dane_obrazka;
$plik = fopen($nazwaPliku, 'wb');
fwrite($plik, $obrazek, $dlugosc);
fclose($plik);
$plik = fopen($nazwaPliku, 'wb');
fwrite($plik, $obrazek, $dlugosc);
fclose($plik);
Wynik wyswietlany w przegladarce:
HTTP/1.1 200 OK
Date: Mon, 28 Mar 2005 12:06:49 GMT
Server: Apache/1.3.26 (Unix) php/4.1.2
Last-Modified: Sat, 05 Feb 2005 00:58:16 GMT
ETag: "298195-19f3-42041a28"
Accept-Ranges: bytes
Content-Length: 6643
Connection: close
Content-Type: image/jpeg
˙Ř˙Ű ˙Ŕ (tresc obrazka)
Zapisnay plik ma ,48kb, zgadza sie tylko podglad jest niedostepny... Dlaczego?