Отдать файл клиенту + строку

  • Автор темы Владимир-
  • Дата начала
Статус
В этой теме нельзя размещать новые ответы.

Владимир-

Guest
Отдать файл клиенту + строку

Необходимо отдать текстовый файл клиенту, но сначала перед этим файлом выдать строку, а потом сам файл.
В итоге содержимое файла у клиента должно начинаться с моей строки, а потом идти сам файл.
Пробовал так, но загрузки нет:
PHP:
$soo="Текст, идущий вначале файла";
$L=filesize($fname)+strlen($soo)+2;
header("Cache-control: private");
header("Content-type: application/force-download");
header("Content-Length: ".$L);
header("Content-Disposition: filename=".$fname);
echo "$soo\r\n";
readfile($fname);
Я так понимаю, что нужно как-то подругому выводить строку $soo, но как?
 

SiMM

Новичок
Re: Отдать файл клиенту + строку

Автор оригинала: Владимир-
Необходимо отдать текстовый файл клиенту, но сначала перед этим файлом выдать строку, а потом сам файл.
Что-то я не вкурил поначалу - и в чём проблема? [m]header[/m]
 

Владимир-

Guest
Автор оригинала: SiMM
1. Не стоит лезть с подобными вопросами в форум для продвинутых.
2. PHP FAQ: Самые основы. ОЧЕНЬ ВАЖНОЕ ЗАМЕЧАНИЕ
ЕЩЕ РАЗ ПОВТАРЯЮ: КЛИЕНТ ДОЛЖЕН ПОЛУЧИТЬ ФАЙЛ В ВИДЕ: ПЕРВАЯ СТРОКА $soo А ПОТОМ МОЙ ФАЙЛ. ФУНКЦИИ ТИПА echo() И print() В ДАННОМ СЛУЧАЕ НЕ РАБОТАЮТ! (ВМЕСТО ОКНА ЗАГРУЗКИ ФАЙЛА ВЫВОДИТСЯ В БРАУЗЕРЕ ТЕКСТ)
СНАЧАЛА ПРОВЕРЬТЕ, А ПОТОМ ОТВЕЧАЙТЕ!!!!
 

Otchim

Новичок
ну так и делай.
открывай свой файл, пиши туда свою первую строку $soo, а потом отдавай этот файл клиенту
 

SiMM

Новичок
Автор оригинала: Владимир-
ФУНКЦИИ ТИПА echo() И print() В ДАННОМ СЛУЧАЕ НЕ РАБОТАЮТ!
Это проблема твоих кривых рук. У миллионов - работает - а вот ты сумел так извернуться, что не работает. Сказали тебе, что копать надо хидеры - воспользуйся поиском по форуму - ты не первый, кто пытается файл пользователю отдать.
PS: и незачем так орать - глухих здесь нет.
 

tristram

Guest
я думаю нашему герою нужно вот что:
PHP:
$soo = "блаблабла";
header("Content-type: application/octet-stream");
header("Content-length: ".(filesize($fname)+strlen($soo)));
header("Content-disposition: attachment; filename=\"".$fname."\"");
echo $soo;
readfile($fname);
меня умиляет фраза "ФУНКЦИИ ТИПА echo() И print() В ДАННОМ СЛУЧАЕ НЕ РАБОТАЮТ"
Otchim
я долго ржал над твоим сообщением
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху