2016-04-05 2 views
0

In PHP, ich lese eine Datei und dann Echo zurück. Wie:PHP: Echo einen Dateiinhalt wie in "verschiedenen" Dateinamen?

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'); 

Aber dann, wenn ich Zugriff auf diese rss.php Datei über den Browser, gibt es die richtigen RSS-Datei Inhalt aber der Dateiname ist immer noch "rss.php".

Ich brauche es als "news.rss" -Dateiname heruntergeladen werden.

Irgendwelche Vorschläge bitte?

(Bitte vergessen Sie, warum ich nicht direkt auf die "news.rss" -Datei zugreifen. Es gibt einige große Geschichten.) Danke an alle. :)

Antwort

2

dies versuchen, ich bin mit dieser Zeit in meinem anderen Programm:

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; 

stattdessen den Inhalt Echo, wir readfile() verwenden, um die Datei und gibt es an den Ausgangspuffer zu lesen.

UPDATE:

Bitte beachten Sie, dass die oben genannten Codes nur die Datei herunterladen (kein Leser). Wenn Sie wirklich zuerst den Inhalt der Datei anzeigen möchten, können Sie zuerst einen anderen Link anzeigen oder eine Schaltfläche verwenden, die die Datei "herunterlädt".

Ich habe auch das gleiche Programm wie Sie. Ich habe eine Anzeige/Aktualisierung der Datei, wo der Benutzer eingeben kann, speichern Sie es mit fwrite(), dann habe ich eine Schaltfläche, die die Datei mit dem obigen Code herunterladen

+0

Aber dann kann ich keine Vorverarbeitung funktioniert vor ich gebe aus? Ich meine, weißt du, ich muss Dinge mit der Originaldatei 'news.rss' anhängen (anhängen/modifizieren/etc), bevor ich es ausspreche. –

+0

Möglicherweise möchten Sie einen Link oder eine Schaltfläche, die den obigen Code tun. und nenne es "Download/Save". Trennen Sie die Anzeige und das Herunterladen – Ceeee