我正在尝试使用php中的putcsv
函数将数组写入文本文件,但该文件为空,我尝试将扩展名更改为.csv
并且它有效,但我需要编写根据我的任务规范,它.txt
。我试图将文件名更改为.csv然后写入它然后回到.txt,我的文件大小已更改,但文件仍为空白。
这是我的代码
$fp = fopen('logfile.txt','w') or die ('No file!!!');
fputcsv($fp,$csv);
fclose($fp);
答案 0 :(得分:0)
我遇到了你的问题,如果它不允许将CSV格式写入文本文件然后写入CSV文件并在写入CSV后重命名(使用PHP中的重命名())到文本文件。
以下是我的示例代码:
$fp = fopen('logfile.csv','w') or die ('No file!!!');
fputcsv($fp,$csv);
fclose($fp);
rename('logfile.csv','logfile.txt');
如果您的问题得到解决,请告诉我。
第二种方法:
str_putcsv()
function str_putcsv($fields, $delimiter = ',', $enclosure = '"', $escape_char = '\\' ) {
foreach ($fields as &$field) {
$field = str_replace($enclosure, $escape_char.$enclosure, $field);
$field = $enclosure . $field . $enclosure;
}
return implode($delimiter, $fields) . "\n";
}
只需拨打电话
即可$file = fopen("newfile.txt", "w") or die("Unable to open file!");
$csvStr = str_putcsv($csv);
fwrite($file, $csvStr);
fclose($fp);
答案 1 :(得分:0)
使用fwrite()
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "John Doe\n";
fwrite($myfile, $txt);
$txt = "Jane Doe\n";
fwrite($myfile, $txt);
fclose($myfile);