Глюк с даунлоадом файла

DiMA

php.spb.ru
Команда форума
Глюк с даунлоадом файла

Есть файл, просто .html

0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
012345678901234567890123456789012345678901234567890

Если длина файла 255 байт и запустить такой скрипт:

$f=fsockopen("..",80);
fputs($f,
"GET http://../test.html HTTP/1.0\r\n".
"Host: ..\r\n\r\n");
while (!feof($f)) {
$buf=fread($f,10000);
echo "<<$buf>>\r\n";
}
fclose($f);

То выдадут:

<<HTTP/1.1 200 OK
Date: Fri, 16 Sep 2005 19:34:34 GMT
Server: Apache/2.0.54 (Win32) PHP/5.1.0RC1
Last-Modified: Fri, 16 Sep 2005 19:33:03 GMT
ETag: "23cd4-ff-a9855830"
Accept-Ranges: bytes
Content-Length: 255
Connection: close
Content-Type: text/html

0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
012345678901234567890123456789012345678901234567890>>
<<>>

А если в этот файл дописать 1 любую цифру (1 байт), чтобы длина стала 256 байт, то при запуске того же скрипта выдают:

<<HTTP/1.1 200 OK
Date: Fri, 16 Sep 2005 19:34:38 GMT
Server: Apache/2.0.54 (Win32) PHP/5.1.0RC1
Last-Modified: Fri, 16 Sep 2005 19:34:37 GMT
ETag: W/"23cd4-100-af1f98c6"
Accept-Ranges: bytes
Content-Length: 256
Connection: close
Content-Type: text/html

>>

Т.е. хериться неизвестно куда тело документа.

РУКАМИ ЧЕРЕЗ ТЕЛНЕТ - теже самые глюки.

Если запустить wget или браузер, то файл будет получен полностью. Пробовал Апач 2.0.53 и 54. PHP 4.10.0, 5.1.RC1, 5 snapshot. Мля, ну как тут работать...

-~{}~ 17.09.05 00:27:

Наблюдение по длине файла:

0-255 bytes -- есть тело
256-5576 bytes -- пустой ответ
5577 bytes and more -- есть тело и т.д.
 

Screjet

Новичок
<<HTTP/1.1 200 OK
Date: Fri, 16 Sep 2005 21:42:13 GMT
Server: Apache/1.3.33 (Unix) PHP/5.0.3 mod_deflate/1.0.21 mod_accel/1.0.31
Last-Modified: Fri, 16 Sep 2005 21:40:53 GMT
ETag: "68212-100-432b3be5"
Accept-Ranges: bytes
Content-Length: 256
Connection: close
Content-Type: text/html

0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
012345678901234567890123456789012345678901234567890123>>
 
Сверху