Autor | Zpráva | ||
---|---|---|---|
xlifer Profil |
#1 · Zasláno: 9. 2. 2011, 10:07:16 · Upravil/a: xlifer
Generuji RSS soubor staticky zvlášť a chtěl bych dosáhnout automatického zobrazení. Zkoušel jsem použít hlavičku s typem text/xml, ale to mi nefunguje.
Soubor rss.xml mám uložený tedy zvlášt a když udělám include "soubor.xml" s hlavičkou, tak to samozřejmě hází chybu.... <? header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); header('Content-Type: text/xml; charset=windows-1250'); include "rss.xml"; ?> Předem moc díky za radu. |
||
xlifer Profil |
#2 · Zasláno: 9. 2. 2011, 11:38:36 · Upravil/a: xlifer
Tak už jsem na to asi přišel a mám takové řešení :
Zajímá mě názor zde zkušenějších? $file = "rss.xml"; If (Is_Readable($file) && File_Exists ($file)): Header("Expires: ".GMDate("D, d M Y H:i:s")." GMT"); Header("Last-Modified: ".GMDate("D, d M Y H:i:s")." GMT"); Header("Content-Type: text/xml; charset=windows-1250"); $fh = FOpen($file, "r"); $data = FRead($fh, FileSize($file)); FClose($fh); echo $data; endif; A nepřidat do hlavičky ješte: ? Header("Pragma: No-cache"); Header("Cache-Control: No-cache, Must-revalidate"); |
||
Joker Profil |
#3 · Zasláno: 9. 2. 2011, 12:39:32
|
||
xlifer Profil |
#4 · Zasláno: 9. 2. 2011, 15:30:04 · Upravil/a: xlifer
Joker:
Přes readfile jsem měl problém s tím, že se mi soubor nabídne ke stažení (attachment dle příkladu na php.net), ale já potřebuji, aby se přímo otevřel do prohlížeče automaticky? Lze to nějak vyřešit? Pak by to bylo ideální. |
||
xlifer Profil |
#5 · Zasláno: 9. 2. 2011, 15:54:34
Něco jsem měl asi špatně, toto mi funguje výborně:
$file = "rss.xml" if (file_exists($file)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.basename($file)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); readfile($file); exit; } A jak to, že nemusí být v hlavičce definice typu souboru TEXT/XML ?? |
||
xlifer Profil |
#6 · Zasláno: 9. 2. 2011, 17:20:34
Nevím proč, ale Explorer zkrátka nebere z hlavičky typ XML
header('Content-Type: text/xml; charset=windows-1250'); je úplně jedno co tam napíšu a vždy mi to vyhodí pouze ten výstup jako text, nikoliv XML. ve FF to jede dobře týká se to příspěvku #2 (nevím jak udělat ten odkaz na příspěvek) |
||
Časová prodleva: 13 let
|
0