我正在编写脚本来下载csv,
我用来发送数据服务器的表单,如下所示,
(隐藏字段的值有域名,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>
我在php上获得这些值,如下所示
if(isset($_POST['nsv'])){
foreach($_POST['nsv'] as $val){
echo $val.'<br/>';
}
exit(0);
}
记录正确显示如下
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,
但我希望将此输出导出为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
此代码正常运行,感谢您的帮助
$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);
任何人都可以帮我用PHP做这件事,我感谢你的帮助。谢谢
答案 0 :(得分:1)
你应该尝试使用制表工具作为分隔符
fputcsv($fp, $foo, chr(9));
答案 1 :(得分:1)
您对explode()函数的参数顺序错误
'\t'
与"\t"
当你编写标题时,你也错过了"\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);