Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.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_Csv_Export To Csv_Fputcsv - Fatal编程技术网

使用PHP将文本解析为CSV文件

使用PHP将文本解析为CSV文件,php,csv,export-to-csv,fputcsv,Php,Csv,Export To Csv,Fputcsv,我想用PHP将数据库中的文本解析为CSV文件。问题是没有任何内容被解析到文件中 function exportToCSV($output) { if(isset($output)) { $fp = fopen("skrivtest/test.csv", "w"); foreach($output as $out) { echo $out . "<br>"; fputcsv

我想用PHP将数据库中的文本解析为CSV文件。问题是没有任何内容被解析到文件中

function exportToCSV($output)
{
    if(isset($output))
    {
        $fp = fopen("skrivtest/test.csv", "w");
        foreach($output as $out) 
        {
            echo $out . "<br>";
            fputcsv($fp, $out); 
        }
        fclose($fp);
        return true;
    }
    else    
    {
        return false;
    }
}

if($export_csv)
{
    if(!exportToCSV($output = array($row->fornamn . " " . $row->efternamn . " " . $row->personnr . " " . $row->gatuadress . " " . $row->postnr . " " . $row->postadress, '')))
    {
        echo "Can't reach function";
        exit;
    }
}
函数exportToCSV($output)
{
if(isset(输出))
{
$fp=fopen(“skrivetest/test.csv”,“w”);
foreach($输出为$输出)
{
回显$out。“
”; fputcsv($fp,$out); } fclose($fp); 返回true; } 其他的 { 返回false; } } 如果($export\u csv) { 如果(!exportToCSV($output=array($row->fornamn。“$row->efternamn。”“$row->personnr。”“$row->gatuadress。”“$row->postnr。”)) { 回声“达不到功能”; 出口 } }
var_dump的输出($output)

数组(2){[0]=>string(62)“Helene Schultzberg 520622-2902 Fröseke Nygärdet 360 77 FrÖseke”[1]=>string(0)”}Helene Schultzberg xxxx Fröseke Nygärdet 360 77 FrÖseke

数组(2){[0]=>string(61)“Dan Johansson 560122-2754 Fibblegård Herråkra 360 73 LENHOVDA”[1]=>string(0)”}Dan Johansson xxxxx Fibblegård Herråkra 360 73 LENHOVDA

$output = array($row->fornamn . " " . $row->efternamn . " " . $row->personnr . " " . $row->gatuadress . " " . $row->postnr . " " . $row->postadress, ''
数组(2){[0]=>string(55)“欠Lindahl 600521-2797Östraby Kvarn 2 360 73 LENHOVDA”[1]=>string(0)”}欠Lindahl xxxxÖstraby Kvarn 2 360 73 LENHOVDA

$output = array($row->fornamn . " " . $row->efternamn . " " . $row->personnr . " " . $row->gatuadress . " " . $row->postnr . " " . $row->postadress, ''
数组(2){[0]=>string(56)“Madelene Runberg 680302-2703Östervik 14 360 73 LENHOVDA”[1]=>string(0)”}Madelene Runberg xxxxÖstervik 14 360 73 LENHOVDA

$output = array($row->fornamn . " " . $row->efternamn . " " . $row->personnr . " " . $row->gatuadress . " " . $row->postnr . " " . $row->postadress, ''
数组(2){[0]=>string(48)“Bo Söderberg 420818-0077Änghult 360 73 LENHOVDA”[1]=>string(0)”}Bo Söderberg xxxxxxÄnghult 360 73 LENHOVDA

$output = array($row->fornamn . " " . $row->efternamn . " " . $row->personnr . " " . $row->gatuadress . " " . $row->postnr . " " . $row->postadress, ''
应替换为

$output = array($row->fornamn, $row->efternamn, $row->personnr, $row->gatuadress, $row->postnr, $row->postadress)

为什么可以在SQL端进行,而在PHP端进行呢

SELECT * INTO OUTFILE "c:/mydata.csv"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY "\n"
FROM my_table;
$fp=fopen(“filename.csv”,“w”);
$value=数组($var1、$var2、$var3);

fputcsv($fp,$value,“\t”)

在您的情况下,代码> $输出<代码>必须是二维数组,您可以考虑使用CSV的分隔符。至少有一些分号。空间不是很节省,因为它们可能以字符串形式出现,并以这种方式将数据弄乱。如果您有时间,请阅读CSV,但如何将文本输入CSV文件?@user500468
fputcsv
希望第二个参数是数组,在您的代码中
字符串
是passedWell。为什么会有if($export\u csv)?$export_csv永远不会被填满,是吗?同时替换fputcsv($fp,$out);使用fputcsv($fp,explode('',$out));