Здравствуйте!
Попробовал поюзать скрипт. Вроде бы как работает, а вродеб и нет.
Выдаёт сообщение об ошибке
Notice: Undefined variable: buf in z:\\home\\cjs.ru\\www\\upload.phtml on line 14
Download fine, size 5320099 bytes.
При этом в корне где лежит файл закачки, туда падает и файл download.tmp
Размер соответствует оригиналу, который закачивался.
Имя и расширение меняю на оригинальное (вручную) и файл удобоваримый, распаковывается нормально (оригинал - архив).
Далее не могу разобраться:
Почему скрипт выдаёт "Неопределенная переменная", если временный файл рисуется ?
line 14 ----- while(!feof($so)) $buf.=fread($so,2048);
Почему скрипт не создаёт файл с оригинальным именем?
скрипт запускаю через IE. Полностью листинг файла скрипта:
// открыли соединение
$so = fsockopen("pirk.ru", 80, &$errno, &$errstr, 30);
// послали GET форму (простой URL + указание вирт. хоста)
fputs($so,"GET /www1.rar HTTP/1.0\\nHOST: pirk.ru\\n\\n");
// читаем все, пока не наступит "конец заголовка" (т.е. начало документа)
// если наступит, то со след. байта начнется документ
while(fgets($so,2048)!="\\r\\n" && !feof($so));
unset($buf);
// читаем документ в переменную
while(!feof($so)) $buf.=fread($so,2048);
// Готово. В переменной $buf храниться скаченный документ (т.е. файл)
// Максимум можно читать порциями по 64K-1байт
// закрываем сокет
fclose($so);
echo "Download fine, size ".strlen($buf)." bytes."; flush();
// используем скаченный файл (в переменной) по назначению...
$f=fopen("download.tmp","wb+");
fwrite($f,$buf,strlen($buf));
fclose($f);
?>
Спасибо!