Внутри обработчика щелчка по этой кнопке:
window.location.href = "path/to/file/on/server.txt";
Кстати, вы на самом деле не выписывать файл в этом случае. Вы можете использовать переписывание URL, чтобы сделать это «виртуальным файлом», который запускает ваш PHP-код, чтобы выпустить данные файла при доступе. Вы меняете PHP, чтобы возвращать сгенерированные данные файла напрямую, а не записывать его в файл.
EDIT: Виртуальное файлов в Apache:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /vfiles
RewriteRule ~vfiles/([a-z]+)\.txt vfile-handler.php?id=$1 [L,QSA]
</IfModule>
Это говорит, что http://my.server/vfiles/foo.txt получает перенаправляется внутри сервера Apache для запуска vfile-handler.php вместо этого, передавая его "ID = Foo" в качестве запроса строка, с которой вы имеете дело так же, как и любой другой запрос GET с строкой запроса. Ваш PHP-скрипт затем соответствующим образом устанавливает тип MIME (text/plain
в этом случае, так как мы утверждаем, что он является .txt-файлом) и строит ответ так же, как если бы мы строили HTML-страницу на лету.
это сработало отлично! можете ли вы объяснить больше о том, что вы имеете в виду об использовании перезаписи URL для создания «виртуального файла»? – acedanger
ответил в правиле выше –
, он означает, что вы использовали бы что-то вроде 'window.location.href =" path/to/php/on/server.php? File = true "' или что-то подобное, и на вашем php вы бы верните файл, если переменная запроса 'file' истинна (или некоторый идентификатор, в зависимости от того, что вам нужно). – Blindy