1

Good morning,

I'm developing a script to create a csv file. My problem is the delimiter of csv file, I need to use ";".

I read that I have to use "setcsvcontrol()" but I'm trying to use it and I haven't had any results.

This is a part of my script:

$create = fopen($fecha."p.csv", "a");
$file = new SplFileObject($fecha."p.csv");
$file->setFlags(SplFileObject::READ_CSV);
$file->setCsvControl(';');

foreach($cadena as $fields){    

    fputcsv($create,$fields);
}

Thanks.

4

2 に答える 2

1

SplFileObject::setCsvControl()それが呼び出された$fileオブジェクト、つまりあなたの場合のオブジェクトにのみ影響します。両方のオブジェクトが同じファイルを操作していても、$createから取得したオブジェクトには影響しません。fopen

$createを使用してオブジェクトに書き込み、最初の引数としてfputcsv($handle, $fields, $delimiter, $enclosure)渡し$create、必要な区切り文字と囲いを 3 番目と 4 番目の引数として渡すか、または を呼び出します$file->fputcsv()。後者の場合、適切な を使用して書き込み可能としてを作成するSplFileObject$open_mode必要があります。

于 2013-06-23T13:09:32.960 に答える