Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 发生导出到txt文件错误_Php_File_Two Columns - Fatal编程技术网

Php 发生导出到txt文件错误

Php 发生导出到txt文件错误,php,file,two-columns,Php,File,Two Columns,我已经使用PHP/MYSQL将数据导出到文本文件中。我写进了使用以下说明创建的file.txt: fwrite($fp ,'' . $value. '' . "\t"); 一切正常,但当数据库中的字段包含,“字符时,会出现一些问题,如下所示: Section= Society, Education & Youth 因此,在创建的文本文件中,section值出现在两列中,两列分开,这是错误的,因为section的值是1,应该插入到一个单元格中(我在excel文件中看到了问题) 所以问题

我已经使用PHP/MYSQL将数据导出到文本文件中。我写进了使用以下说明创建的
file.txt

fwrite($fp ,'' . $value. '' . "\t");
一切正常,但当数据库中的字段包含
,“
字符时,会出现一些问题,如下所示:

Section= Society, Education & Youth
因此,在创建的文本文件中,section值出现在两列中,两列分开,这是错误的,因为section的值是1,应该插入到一个单元格中(我在excel文件中看到了问题)

所以问题是,我如何告诉输出忽略某些值中的
,“
,这样它就不会被视为两列?

逗号分隔值(CSV)文件可以使用分隔符字符(通常是引号)来表示这种情况下的文本。如果您的数据在文本中没有引号,您可以尝试一下。您可以告诉Excel分隔符是什么。您还可以使用不同的字符(制表符、逗号等)来分隔字段,只要Excel知道您是如何分隔数据的

// try with quotes
fwrite($fp, "\"$value\"\t");

使用fputcsv()可以解决许多问题fputcsv()可以用于文本文件???CSV文件(或手动生成的制表符分隔值文件)是文本文件。。。它只是一个具有基本结构的文本文件。请不要忘记将$value中可能存在的任何“转义为”;我使用fwrite($fp,“$value\”\t);当$value='some thing,…',出现相同的问题时…尝试使用从excel导入,或为文件名提供一个
.txt
扩展名以启动导入向导,这样您就可以告诉excel数据是如何分隔的。如果文件有
.csv
扩展名,我认为excel会对其分隔方式做出假设。好的,请输入一些文本into单元格包含“/”、““”、““”、…”等字符,如何继续转义字符以获得导出文件的最佳视图???