2017-01-19 5 views
1

でファイルにXML私はこれについての質問のトンがここにあることを知っているが、私が試したすべての答えは、固定していない私の問題保存フォーマットされたPHP

問題

文字列と私はそれをファイルに保存したいが、xmlを1行に入れたくないprittyの印刷でファイルに書きたい

また、この代わりにこれより大きな問題がある"このファイルは別のWebサイトにダウンロードされますので、"を表示しています$content変数が"を持っていることを私は"

注意を持っていないことができない"

私は\nは、それが簡単に

をフォーマットされる私は、XMLを必要と生成されたXMLファイルをanalizeできるようにすることが、問題ではないことを知っています

これは私も

を試してみました私は

$dirname = "temp/" . uniqid(); 
mkdir($dirname); 

$filename = $dirname . "/gen.xml"; 

$doc = new DomDocument($content); 
$doc->preserveWhiteSpace = false; 
$doc->formatOutput = true; 
$doc->save($filename); 

header("Cache-Control: public"); 
header("Content-Description: File Transfer"); 
header("Content-Length: ". filesize("$filename").";"); 
header("Content-Disposition: attachment; filename=gen.xml"); 
header("Content-Type: application/octet-stream; "); 
header("Content-Transfer-Encoding: binary"); 

readfile($filename); 

$fh = fopen($filename, 'a'); 
fclose($fh); 
unlink($filename); 
rmdir($dirname); 

を使用していますものですむしろ、オプションのバージョンとエンコーディング -

header("Content-type: text/xml");file_put_contents

答えて

2

DomDocumentconstructor は、XML文字列を受け付けません。

あなたはおそらくしたいことは、あなたの代わりに$content XML文字列をロードすることです:

$doc = new DOMDocument(); 

$doc->preserveWhiteSpace = false; 
$doc->formatOutput = true; 
$doc->loadXML($content); 

$doc->save($filename); 
関連する問題