Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.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中的字符串到csv_Php_String_Csv_Download - Fatal编程技术网

php中的字符串到csv

php中的字符串到csv,php,string,csv,download,Php,String,Csv,Download,我在php中有一个字符串,如标题1、标题2、标题3、第1a行、第1b行、第1c行、第2a行、第2b行、第2c行等,基本上我的整个csv都在一个字符串中 我通过post将该字符串传递到我下载的CSV文件,该文件类似于: header("Content-type: text/csv"); header("Content-Disposition: attachment; filename=Device_List.csv"); header("Pragma: no-cache"); header("Ex

我在php中有一个字符串,如标题1、标题2、标题3、第1a行、第1b行、第1c行、第2a行、第2b行、第2c行等,基本上我的整个csv都在一个字符串中

我通过post将该字符串传递到我下载的CSV文件,该文件类似于:

header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=Device_List.csv");
header("Pragma: no-cache");
header("Expires: 0");
$keys = array_keys($_POST);
$csvContent = $keys[1];
echo $csvContent;
die;
我确实得到了一个csv文件,但是所有东西都在一行上。问题是,我不知道如何将它拆分为多行以用于csv。我尝试在末尾添加/n个字符,使其看起来像这样:标题1、标题2、标题3\n第1a行、第1b行、第1c行\n第2a行、第2b行、第2c行

尝试在结尾使用或不使用逗号,尝试了\r\n,似乎没有任何效果。有没有一种方法可以将这个字符串写入csv,这样它们就可以像预期的那样转到新行?还研究了如何将其放入数组中,但不确定这是否是要走的路线,或者如何将字符串拆分为包含数组的数组,我认为这是fputcsv所需要的

关于我应该如何做这件事有什么想法吗?

PHP爆炸

PHP str_getcsv

使用“分解”将线拆分为阵列

$lines = explode("\n", $csv);
使用str_getcsv解析每一行

foreach ($lines as &$line) {
  $cols = str_getcsv($line);
}

你是怎么产生这个字符串的?听起来应该是标题1,第1a行,第2a行。那么你想在你的CSVi的每一行中做什么呢?我知道这听起来很愚蠢,但是你试过html吗?喜欢