1

私のコードは、PHP の fputcsv 関数を使用して txt ファイルを生成します。

区切り文字には、「|」を使用しようとしています

$query = mysql_query("SELECT email, emailSource FROM session WHERE is_complete='1' ORDER by sessionid ASC")

$filename= 'here.txt';

$fp = fopen( $filename,'w');


fputcsv($fp, array('Email address', 'Email Source'));

if(mysql_numrows($query) > 0) {

    while ($row = mysql_fetch_array($query, MYSQL_ASSOC)) {
            fputcsv($fp, array_values($row));
    }
}


fclose($fp);
$contents = file_get_contents($filename);
$contents = str_replace(",", "|", $contents);
file_put_contents($filename, $contents);

私が得る結果は、別の行に値を表示するのではなく、すべて1行に表示され、ヘッダーの周りにも "" があります。

"Email address"|"Email Source"|blah@blah.com|hi|

これの代わりに:

Email address|Email Source|

blah@blah.com|hi|

誰かが私が間違っていることを教えてください。fputcsvを使ってtxtファイルに保存しているからでしょうか?

4

1 に答える 1

5

str_replace / file_get_contents/ file_put_contents ブロックを取り除きます。の代わりにfputcsv($fp, array('...'))fputcsv($fp, array('...'), '|');

于 2012-06-27T20:52:21.040 に答える