不能将csv文件写入.txt文件?PHP


Can't write csv to .txt file? PHP

我试图使用php中的putcsv函数将数组写入文本文件,但文件为空白,我尝试将扩展名更改为.csv并且它有效,但我需要根据我的任务规格将其写入.txt。我试图将文件名更改为。csv,然后写入,然后返回到。txt,我的文件大小改变了,但文件仍然是空白的。

我的代码

$fp = fopen('logfile.txt','w') or die ('No file!!!');
      fputcsv($fp,$csv);
      fclose($fp);

我明白你的问题了,如果不允许将CSV格式写入文本文件,那么写入CSV文件并在写入CSV完成后重命名(使用PHP中的rename())到文本文件。

下面是我的示例代码:
$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);

使用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);