简体   繁体   English

PHP逗号分隔的字符串数组导出到csv

[英]PHP comma separated string array Export to csv

im writing a script to download a csv, 我正在写一个脚本来下载一个csv,

the form i using to send data server like below, 我用来发送数据服务器的表格如下,

(the value of hidden field has domain name,namerserver1,namerserver2,namerserver3,namerserver4) some have domain name and not have ns data (隐藏字段的值有域名,namerserver1,namerserver2,namerserver3,namerserver4)有些域名没有ns数据

<form class="dmns2" method="post">
<input type="hidden" value="wiseowldating.co.uk,ns.nothard.net,ns2.nothard.net,ns3.nothard.net" name="nsv[]" />
<input type="hidden" value="willow.nothard.net.zz" name="nsv[]" />
<input type="hidden" value="welditz.com,ns.nothard.net,ns2.nothard.net,ns3.nothard.net," name="nsv[]" />
<input type="submit" id="btnsubmit"  value="CSV Export"/>
</form>

I'm getting those values on php like below 我在PHP上获得这些值,如下所示

if(isset($_POST['nsv'])){
foreach($_POST['nsv'] as $val){
    echo $val.'<br/>';
    }
exit(0);
}

the records are showing correctly as below 记录正确显示如下

wiseowldating.co.uk,ns.nothard.net,ns2.nothard.net,ns3.nothard.net,
willow.nothard.net.zz,
welditz.com,ns.nothard.net,ns2.nothard.net,ns3.nothard.net,

but i want export this output to a csv files as this format 但我希望将此输出导出为此格式的csv文件

Doman                 nameserver1    nameserver2     nameserver3     nameserver4 nameserver5
wiseowldating.co.uk   ns.nothard.net ns2.nothard.net ns3.nothard.net
willow.nothard.net.zz
welditz.com           ns.nothard.net ns2.nothard.net ns3.nothard.net

this code is working, thanks for help 这段代码正在运行,感谢您的帮助

$fp = fopen("nsdata.csv", "w");
$row=array('Domain','NS1','NS2','NS3','NS4');
fputcsv($fp, $row);
foreach($_POST['nsv'] as $val){
    $ar=explode(',',$val);
    fputcsv($fp,$ar);
}
fclose($fp);

can anyone help me to do this using php please, i appreciate your help. 任何人都可以帮我用PHP做这个,我感谢你的帮助。 thank you 谢谢

你应该尝试使用tabulator作为分隔符

fputcsv($fp, $foo, chr(9));  

Your order of arguments to the explode() function is wrong 您对explode()函数的参数顺序是错误的

And '\\t' is not the same as "\\t" 并且'\\t'"\\t"

And you're missing the "\\t" when you write your headers as well 当你编写标题时,你也错过了"\\t"

$fp = fopen("nsdata.csv", "w");
$row = array('Domain','NS1','NS2','NS3','NS4');
fputcsv($fp, $row, "\t");
foreach($_POST['nsv'] as $val){
    $ar=explode(',', $val);
    fputcsv($fp, $ar, "\t");
}
fclose($fp);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM