使用PHP将文本解析为CSV文件
我想用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
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文件?@user500468fputcsv
希望第二个参数是数组,在您的代码中字符串
是passedWell。为什么会有if($export\u csv)?$export_csv永远不会被填满,是吗?同时替换fputcsv($fp,$out);使用fputcsv($fp,explode('',$out));