【发布时间】:2018-04-30 10:51:30
【问题描述】:
我将使用 fputcsv 函数通过 PHP 将查询的输出导出到文本文件(不是 CSV 文件)中,但是当我打开文本文件时,会在开头添加额外的双引号 (") & 结束,也在中间:
"SET: NEID=35;"
"ADD OPDNAL:ENTR=571,DIGIT=""703901943"",NANNAT=ALL,NAME=""CallingFilter"",RATIO2=0;"
这是我想要的结果:
SET: NEID=35;
ADD OPDNAL:ENTR=571,DIGIT="703901943",NANNAT=ALL,NAME="Calling Filter",RATIO2=0;
我的代码如下:
$sql="select 'SET: NEID=35;' as ACC_OFFNET from dual
union all
SELECT ACC_OFFNET FROM JLD_ADD WHERE ACC_OFFNET NOT IN (SELECT ACC_OFFNET FROM JLD_ADD_BK)
union all
select 'syn' as ACC_OFFNET from dual";
$result = odbc_exec($connect_raidprd, $sql) or die("Couldn't execute query! ".odbc_errormsg());
$date=date('Y-m-d H:ia',time());
$update = str_replace(':','-',$date);
$filenameJLD = "JLD-ADD-". $update.".csv";
$handle = fopen($filenameJLD, 'w+');
while ($row =odbc_fetch_array($result)) {
fputcsv($handle,array($row['ACC_OFFNET']));
}
// Finish writing the file
fclose($handle);
odbc_close($connect_raidprd);
或者,fwrite 是否可以接受数组作为参数?
【问题讨论】:
-
fwrite不接受数组,但您可以implode()数组。或者你也可以使用file_put_contents() -
非常感谢,它起作用了,但即使我使用
这样,也只能在每行之后进行换行。 while ($row =odbc_fetch_array($result)) { $data=implode("
",array($row['ACC_OFFNET'])); fwrite($句柄,$数据); } -
谢谢,问题已经解决了。