| |
|
|
| | Привет всем !
проблемма такого рода . когда я получаю картинку с удаленного хоста с помощью сокета то у меня на экране бред какойто . а хотелось бы видеть(картинку) то что мы получаем ( в оригинале ).
Как такое вообще можно реализовать ? в идеале мне нужно записать полученную картинку на диск . и что-бы она потом была читабельная (как картинка а не как набор символов).
<?
// функция получения страницы с удаленного хоста.
function getdata($host, $path)
{
$buffer = true;
$fp = @fsockopen("tcp://".$host, 80, $errno, $errstr, 10);
if (!$fp) {
return false;
} else {
$out = "GET $path HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Referer: $host$path\r\n";
$out .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n";
$out .= "Connection: Close\r\n";
$out .= "\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$buffer .= fgets($fp, 1024);
}
fclose($fp);
}
return $buffer;
}
?>
|
| |
| |
|
|
| |
|
|
| |
для: dima2207
(03.01.2008 в 22:03)
| | | Применение функции base64_decode($str); тоже не принесло желаемого результата . | |
| |
|
|
| |
|
|
| |
для: dima2207
(03.01.2008 в 22:51)
| | | a) Замените HTTP/1.1 на HTTP/1.0.
b) Нужно отделить заголовки (list($headers,$buffer) = explode("\r\n\r\n", $buffer, 2)) от контента. | |
| |
|
|
| |
|
|
| |
для: Unkind
(03.01.2008 в 22:56)
| | | Немного непонтно . поподробнее пожалуйста о функции (list($headers,$buffer) = explode("\r\n\r\n", $buffer, 2)) | |
| |
|
|
| |
|
|
| |
для: dima2207
(03.01.2008 в 23:13)
| | | Это не функция, а
a) разбивка значения $buffer на две части - заголовки и тело документа (в HTTP сначала идут заголовки, затем пустая строка и тело документа) с разделителем двойной CRLF (\r - CR, LF - \n);
b) передача получевшегося значениея (массива) конструкции list при помощи оператора присвоения;
c) создание двух переменных - $headers и $buffer, содержащих заголовоки и тело документа соответственно.
Вам, насколько я понял, нужно тело - сама картинка. | |
| |
|
|
| |
|
|
| |
для: dima2207
(03.01.2008 в 22:03)
| | | можно просто использовать функцию copy ( string source, string dest ) | |
| |
|
|