2016-11-01 71 views
1

script1.php返回结果:如何将php文件保存为csv文件?

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循环中的数组,但希望有人能为我的原始问题提供简单的解决方案。

+0

您想将其保存到服务器上的文件中,还是希望用户下载它? – AbraCadaver

+0

*您想将其保存到服务器上的文件中,还是希望用户下载它? - AbraCadaver 10分钟前* –

+0

*我敢打赌他还在等待... *还是他?编辑:(平)@AbraCadaver *是你吗?* ;-) –

回答

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

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')),并写入该文件,它会导致从行他们都写入文件而不覆盖对方。

+0

我没有看到回声的点,然后输出缓冲,当你可以直接写入文件。 – nogad

+0

大概问题是“script1.php和script2.php超出了我的控制范围,并且它们已经回显了它,我如何将它打印到文件” – Ishamael

+0

我假设_both通过while循环产生结果,所以我将能够保存结果作为数组在一个while循环**但希望有人会提供一个简单的解决方案,我的原始问题** _ – AbraCadaver

相关问题