Не могу разделить поток вывода. есть HTML форма (html файл) - в ней вводится инфа и стартует php-файл, который формирует, путем разных извращений с базой, Excel файл. Как сделать чтобы при формировании файла - выводилась инфа на форму (можно новую)? вот код куда пытаюсь вставить echo() - но он инфу выводит в файл и его курочит. Код (Text): ............ [b]много кода, сюда тоже хочется вставить вывод, но он лезет в файл.[/b] excel_import_my($date_start,$date_finish,$sql); // вызов функции создания файла код дальше ........... function excel_import_my($date_start_,$date_finish_,$sql_) {// импорт $str_="Report_".date("m.d.y").".xls"; header('Content-Type: application/force-download'); header('Content-Type: application/octet-stream'); header('Content-Type: application/download'); header('Content-Disposition: attachment;filename= "'.$str_.'"'); header('Content-Transfer-Encoding: binary „'); ....... xlsBOF(); while ($tablerows = mysql_fetch_row($sql)) { ...... xlsWriteNumber($str_Ex,$i,$tablerows[$i]); [b]echo("$tablerows[$i]");[/b] ....... } xlsEOF() Как можно переключить вывод на форму а потом обратно в файл??? п.с. понимаю что "лыжи и асфальт" - учимся потихоньку.
Код (Text): header('Content-Type: application/force-download'); - эта скриптина не может выводить "в форму", поскольку она заточена на то, чтобы отдавать файл. Или/или. Разные скрипты должны быть
Так скриптина будет делать то, что в ней написано. Не нравится - исправьте. Но в любом случае, она либо выдаст HTML в браузер, либо файл на загрузку, но неодновременно. Поскольку http://phpfaq.ru/na_tanke
Не пытаться одной попой сесть на два стула. Например, можно формировать файл, сохранять его где-нибудь на сервере, выдавать обновленную форму, а на ней, помимо всего прочего - ссылка на файл.
Но пока не закончу формировать файл - ничего на форму вывести не получится. Я правильно понял из объяснений и мурзилок? Всем спасибо.
Ну, если вам в форму нужно вывести те же данные, что были введены, можно вообще форму не сабмитить, а послать с нее данные через ajax в какой-то скрипт, который прожует их, сформирует файл и вернет ссылку на этот файл, а при получении ответа от Аякс можно эту ссылку вывести на форму.
"Мне бы схемку иль чертеж " (Филатов) код (пример) бы помог сильно. просто что есть ajax - ХЗ, хотя это направление в процессе копания. и вот это это php должон возвращать Аяксу? если то как - return URL?
Ну да, все так. Ну, допустим, есть, условно говоря, поля field1 и field2 и див new_file_name с одноименными id. Если подключить jQuery, то аякс будет выглядеть так: Код (Text): $.ajax({ url: 'some_script.php', type: 'POST', data: {val1: $('#field1').val(), val2: $('#field2').val}, success: function(response) {$('#new_file_name').html(response);} }) Тогда скрипт some_script.php должен получать через POST значения val1 и val2, формировать файл и выводить что-то типа <a href='http://yourserver.ru/new_just_created_file.txt'>Созданный файл</a>, а функция success запихнет это в див #new_file_name
не усложняйте то, что и так не можете понять. сделайте по простому, но чтобы работало. а там видно будет…
если надо показать страницу и при этом должен выскочить диалог сохранения файла, это можно сделать без Javascript. вариант а) указать на странице meta refresh и там URL файла вариант б) вставить в страницу iframe а там URL файла в любом случае Content-disposition файла должен быть attachment, чтобы гарантированно браузер не пытался этот файл показать сам.