Динамически сгенеренный файл для скачивания

mozz

Guest
Динамически сгенеренный файл для скачивания

Если уже было и неоднократно не бейте ногами.
Проблема в следущем: нужно сгенерить файл и не сохраняя его на сервере дать скачать клиенту. Знаю что просто, но есть ли возможность сделать ето не открывая нового окна? У меня лично Apache ругается и говорит что заголовки уже переданы если я в открытом окне вызываю функцию экспорта данных в файл
функция:
PHP:
function ExportToExcel($exp)
{
	header("Content-type: application/vnd.ms-excel");
	header("Content-Disposition: attachment;Filename=Results.xls");
	echo "$exp";
}
на входе строка с данными через табуляции и возвраты кареток.

-~{}~ 26.02.05 17:14:

Так что никто не знает? Или я вопрос некорректно задал?
 

StUV

Rotaredom
можно сохранить на сервак
отдать клиенту файл (хидерами)
удалить файл

---
зы:
все зависит от того, чем ты генеришь xls-файл.
если тебе известен ms xls формат - генери его как строку и отдавай клиенту
если генеришь с помощью com сервера или какими-либо другими средствами, дающими xls файл - то см. выше
 

mozz

Guest
Значения через табуляцию и строки через возврат каретки файл назвать *.xls и Exel его кушает. Мне формулы не нужны с этим бы разобраться...
 

StUV

Rotaredom
файл назвать *.xls
какой на[..] файл - ты ж ничего не сохраняешь на сервак - так ?

тебе надо, чтобы некоторую сгенерироавнную серваком строку клиент мог скачать как файл без операцией с fs на серваке ?
 

mozz

Guest
Автор оригинала: StUV
какой на[..] файл - ты ж ничего не сохраняешь на сервак - так ?

тебе надо, чтобы некоторую сгенерироавнную серваком строку клиент мог скачать как файл без операцией с fs на серваке ?
Так вот и скажи мне убогому каким образом мне эту строку оформить чтобы клиент принял ее и она у него сохранилась в виде файла с расширением xls Дело в том что если приведенную мной функцию вызвать в отдельном файле, куда передаем $exp каким либо образом то все нормально а вот как таким образом не открывая новый файл и занава не генеря этот ...ный массив или не передавая его отдать это клиенту?
 
Сверху