如何将php文件保存为csv文件?

时间:2016-11-01 20:41:24

标签: php string csv require-once

script1.php返回结果:

helen,hunt
jessica,alba

script2.php返回结果:

bradley,cooper
brad,pitt

script.php看起来像这样

<?php
echo "name,surname";
require_once('script1.php');
require_once('script2.php');
?>

并将返回

name,surname
helen,hunt
jessica,alba
bradley,cooper
brad,pitt

问题

也许这对某人来说是显而易见的,但我一直在努力如何保存这个php文件:script.php作为csv文件? script1.php和script2.php都会在while循环中产生结果,所以我可以将结果保存为while循环中的数组,但希望有人能为我原来的问题提供一个简单的解决方案。

2 个答案:

答案 0 :(得分:1)

如果我做对了,你试图将这些脚本的输出保存到CSV文件中。 尝试做:

ob_start();
echo "name,surname";
require_once('script1.php');
require_once('script2.php');
$result = ob_get_contents();
file_put_contents('filename.csv', $result)

您还可以查看fputcsv:http://php.net/manual/en/function.fputcsv.php

答案 1 :(得分:0)

如果您的问题是如何访问终端,那么只需执行它

php -f script.php > file.csv

如果您想从脚本中执行此操作,可以使用output buffering。这将是:

<?php
ob_start();
echo "name,surname";
require_once('script1.php');
require_once('script2.php');
$size=ob_get_length();
if ($size > 0)
{
    $content = ob_get_contents();
    // save $content to file here
    ob_clean();
}
?>

或者,如果您可以更改script1.phpscript2.php,请让他们打开文件以追加(fopen('fname.csv', 'a')),并写入该文件,这将导致来自它们都写入文件而不会互相覆盖。