Есть ли способ создать два разных текстовых файла на лету с помощью php?

Благодаря этой теме я могу создать один единственный текстовый файл и загрузить его на лету. Но я хотел бы создать два отдельных текстовых файла. Мой код выглядит так:

        $status = //math

        if(status)

           header("Content-type: text/plain");
           header("Content-Disposition: attachment; filename=config.txt");

 //...config text

 include 'test.php'; 

Файл test.php:

<?php 

    $timeout = "time";

    header("Content-type: text/plain");
    header("Content-Disposition: attachment; filename=timout.xml");

    echo $timeout;
?>

текст timeout.xml включается в config.txt, создавая только файл timout.xml для загрузки. Есть ли способ создать два отдельных текстовых файла для загрузки на лету?


person Victor R. Oliveira    schedule 30.09.2014    source источник
comment
Не в том же запросе, нет. Вам нужно будет сделать два отдельных запроса на загрузку.   -  person deceze♦    schedule 30.09.2014
comment
@deceze Я думал, что могу включить еще один файл php, это была моя идея, так как я могу вызвать два разных запроса? Учитывая, что я использую только одну кнопку, это возможно?   -  person Victor R. Oliveira    schedule 30.09.2014
comment
Вы могли бы сделать это, если бы вы создали два файла и поместили их в файл tarball/zip и вывели вместо этого   -  person Brian    schedule 30.09.2014
comment
@VictorOliveira запрос к серверу предназначен для возврата одного файла (обычно HTML или JSON или что-то в этом роде), но в качестве альтернативы вы можете вернуть другой файл, но по правилу вы можете вернуть только один файл для одного запроса. Вот как работает REST.   -  person Brian    schedule 30.09.2014
comment
@Brian zips на самом деле не вариант, но я читал об этом несколько минут назад; Благодарность   -  person Victor R. Oliveira    schedule 30.09.2014
comment
Подумайте, как это будет выглядеть в браузере, неважно, что вы include какой-то файл на стороне сервера. Вы не можете получить два файла одним кликом по одной ссылке. Вы можете запустить две загрузки через Javascript, если хотите.   -  person deceze♦    schedule 30.09.2014
comment
@deceze, не могли бы вы опубликовать код, который поможет мне? таким образом, я мог бы принять в качестве ответа   -  person Victor R. Oliveira    schedule 30.09.2014
comment
То, что сказал @deceze, наверняка является для вас жизнеспособной альтернативой. Вы можете использовать JS для ссылки, чтобы инициировать два разных запроса к серверу, что технически позволит вам запускать две загрузки одним щелчком мыши, но при этом будет выполняться два PHP-скрипта на стороне сервера, или один с двумя разными наборами переменных запроса.   -  person Brian    schedule 30.09.2014
comment
может быть, вы можете получить некоторую помощь от этого заголовок для загрузки нескольких файлов в цикле"> stackoverflow.com/questions/4993468/   -  person Ram Sharma    schedule 30.09.2014


Ответы (1)


Вы не можете этого сделать, потому что HTTP не поддерживает загрузку нескольких файлов одним щелчком мыши. Лучшим вариантом было бы заархивировать файлы на сервере и передать их, как указано здесь.

Или вы можете использовать javascript для ссылки, чтобы запросить два запроса на сервер, что позволяет получать данные одним щелчком мыши, как сказали @deceze и @brian в комментарии.

person Avinash Babu    schedule 30.09.2014