2016-11-01 4 views
1

script1.php結果を返し:どのようにcsvファイルとして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 
を返します。 10

質問

は多分これは誰かに明らかであるが、私はこのPHPファイル保存する方法をしばらく苦労しています:csvファイルとしてscript.phpを? script1.phpとscript2.phpはどちらもwhileループで結果を生成しますので、whileループの中に配列として結果を保存することはできますが、うまくいけば誰かが私の元の質問に簡単な解決策を提供します。

+0

サーバーのファイルに保存したいのですか、またはユーザーがダウンロードするようにしますか? – AbraCadaver

+0

*サーバー上のファイルに保存したい場合、またはユーザーがダウンロードしたい場合は、 - AbraCadaver 10分前* –

+0

*彼はまだ彼が待っていると思うだろう... *または彼ですか?編集:(ping)@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を使用できます。あなたは、script1.phpscript2.phpを変更する彼らは(fopen('fname.csv', 'a'))追加するために、ファイルを開いて作成し、そのファイルに書き込むことができれば、それはからの行になり、その代わりに、

<?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(); 
} 
?> 

または:それはの線に沿ってになります両方とも互いに上書きすることなくファイルに書き込まれます。

+0

ファイルに直接書き込むことができたときに、出力バッファリングのエコーポイントが表示されません。 – nogad

+0

おそらく質問は "script1.phpとscript2.phpは私のコントロール外です。彼らはすでにそれをエコーし​​ます。どうすればファイルに出力できますか?" – Ishamael

+0

whileループで結果を生成すると仮定したので、保存することができます。しかし、ループの中に配列としての結果**しかし、うまくいけば、誰かが私の元の質問に簡単な解決策を提供するだろう** _ – AbraCadaver

関連する問題