Php 如何使用setcsvcontrol()
早上好 我正在开发一个创建csv文件的脚本。我的问题是csv文件的分隔符,我需要使用“;” 我读到我必须使用“setcsvcontrol()”,但我正在尝试使用它,但没有任何结果 这是我脚本的一部分:Php 如何使用setcsvcontrol(),php,csv,delimiter,Php,Csv,Delimiter,早上好 我正在开发一个创建csv文件的脚本。我的问题是csv文件的分隔符,我需要使用“;” 我读到我必须使用“setcsvcontrol()”,但我正在尝试使用它,但没有任何结果 这是我脚本的一部分: $create = fopen($fecha."p.csv", "a"); $file = new SplFileObject($fecha."p.csv"); $file->setFlags(SplFileObject::READ_CSV); $file->setCsvControl
$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);
}
谢谢。您没有将分隔符传递给
fputcsv
fputcsv($create,$fields, ";");
您还可以安全地删除
$file = new SplFileObject($fecha."p.csv");
$file->setFlags(SplFileObject::READ_CSV);
$file->setCsvControl(';');
如果必须使用SplFileObject
,请将代码更改为
$file = new SplFileObject("data.csv");
$file->setFlags(SplFileObject::WRITE_CSV);
$file->setCsvControl(';');
foreach ($rows as $row) {
$file->fputcsv($row);
}
您没有将分隔符传递给
fputcsv
fputcsv($create,$fields, ";");
您还可以安全地删除
$file = new SplFileObject($fecha."p.csv");
$file->setFlags(SplFileObject::READ_CSV);
$file->setCsvControl(';');
如果必须使用SplFileObject
,请将代码更改为
$file = new SplFileObject("data.csv");
$file->setFlags(SplFileObject::WRITE_CSV);
$file->setCsvControl(';');
foreach ($rows as $row) {
$file->fputcsv($row);
}
仅影响调用它的对象,即您案例中的$file
对象。它不会影响从fopen
获得的$create
对象,即使这两个对象在同一个文件上运行
使用$create
写入$create
对象,将$create
作为第一个参数传递,将所需的分隔符和附件作为第三个和第四个参数传递,或者调用。在后一种情况下,您必须使用合适的$open\u模式作为可写模式,只影响调用它的对象,即案例中的$file
对象。它不会影响从fopen
获得的$create
对象,即使这两个对象在同一个文件上运行
使用$create
写入$create
对象,将$create
作为第一个参数传递,将所需的分隔符和附件作为第三个和第四个参数传递,或者调用。在后一种情况下,您必须使用合适的$open\u模式作为可写模式,没有WRITE\u CSV
常量。没有WRITE\u CSV
常量。