2016-04-05 13 views
0

PHPでは、私はファイルを読み込み、それをエコーバックしています。同様に:PHP: "different"ファイル名のようにファイル内容をエコーし​​ますか?

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"というファイル名でダウンロードする必要があります。

お願いします。

(「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

しかし、私は前処理私は出力?私はあなたが知っていることを知っている、私はそれをエコーアウトする前に、元のファイル 'news.rss'を使って(追加/変更/ etc)する必要があります。 –

+0

上記のコードを実行するリンクまたはボタンが必要な場合があります。名前を「ダウンロード/保存」とします。表示とダウンロードを分離する – Ceeee

関連する問題