2016-04-05 2 views
0

В PHP я читаю файл, а затем повторяю его. Как:PHP: Эхо содержимое файла, как в «другом» имени файла?

rss.php

header("Access-Control-Allow-Origin: *"); 
header("Access-Control-Allow-Methods: GET"); 
header("Access-Control-Allow-Headers: x-requested-with, Content-Type, origin, authorization, accept, client-security-token"); 
header('Content-Type: application/xml'); 

echo file_get_contents('../../../news.rss'); 

Но тогда, когда я этот rss.php файл через браузер, он дает правильный содержимом RSS-файл но имя файла по-прежнему «rss.php».

Мне нужно его загрузить как "news.rss" filename.

Любые предложения, пожалуйста?

(Пожалуйста, давайте забудем о том, почему я не напрямую обращаюсь к файлу news.rss. Есть несколько больших историй.) Спасибо всем. :)

ответ

2

попробовать это, я в настоящее время использую это в моей другой программе:

header('Content-Type: application/octet-stream'); 
header('Content-Disposition: attachment; filename=news.rss'); 
header('Expires: 0'); 
header('Cache-Control: must-revalidate'); 
header('Pragma: public'); 
header('Content-Length: ' . filesize('../../../news.rss'); 
readfile('../../../news.rss'); 
exit; 

вместо повторяющий содержание, мы используем readfile() для чтения файла и выводит его в выходной буфер.

UPDATE:

Информируем, что вышеуказанные коды только для загрузки файла (без просмотра). Если вы действительно хотите сначала отобразить содержимое файла, вы можете сначала показать его, затем другую ссылку или использовать кнопку, которая «загружает» файл.

У меня также есть та же программа, что и вы. У меня есть просмотр/обновление файла, в котором пользователь может печатать, сохранить его с помощью функции fwrite(), после чего у меня есть кнопка, загружающая файл с использованием вышеуказанного кода.

+0

Но тогда я не могу выполнять предварительную обработку до i вывод? Я имею в виду, вы знаете, мне нужно сделать (добавьте/изменить/etc) вещи с исходным файлом 'news.rss', прежде чем я его повторю. –

+0

Возможно, вы захотите иметь ссылку или кнопку, которые выполняют вышеуказанный код. и назовите его «Загрузить/Сохранить». отделить просмотр и загрузку – Ceeee