我想执行PHP脚本并创建XML文件。 PHP脚本包含一组'echo'命令。
$name = strftime('xml_%m_%d_%Y.xml');
header('Content-Disposition: attachment;filename=' . $name);
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8"?>'.PHP_EOL;
echo '<lager>'.PHP_EOL;
foreach ($product_array as $product) {
echo "<product>".PHP_EOL;
echo "<code>", $product->var_code, "</code>".PHP_EOL;
echo "<group>", $product->var_group, "</group>".PHP_EOL;
echo "<manu>", $product->var_manufacturer, "</manu>".PHP_EOL;
echo "<product>".PHP_EOL;
}
echo '</lager>'.PHP_EOL;
我已经使用此脚本,浏览器开始下载文件。 而不是那样,我希望脚本创建文件并保留在服务器上。
答案 0 :(得分:2)
file_put_contents
或fopen
+ fwrite
个功能执行此操作。这是您要查找的代码。我还修复了</product>
(添加了你错过的斜线,感谢@Marten Koetsier)
$name = strftime('xml_%m_%d_%Y.xml');
// Open the file for writing
$fp = fopen($name, 'w');
fwrite($fp, '<?xml version="1.0" encoding="UTF-8"?>');
fwrite($fp, '<lager>');
foreach ($product_array as $product) {
fwrite($fp, "<product>");
fwrite($fp, "<code>{$product->var_code}</code>");
fwrite($fp, "<group>{$product->var_group}</group>");
fwrite($fp, "<manu>{$product->var_manufacturer}</manu>");
fwrite($fp, "</product>");
}
fwrite($fp, '</lager>');
fclose($fp);
由于您将其另存为XML,因此您并不需要PHP_EOL
。如果你真的想要,你可以把我放回去......