Php在csv输出文件中插入转义字符
我正在使用此php代码以允许用户将dojo.enchancedgrid发送到文件并将其下载到他的机器。该过程工作正常,但输出csv文件" title="csv文件">csv文件具有引号的换码行。我怎样才能避免PHP插入这些对我来说。传递给函数(str)的字符串是可以的,但是在通过php代码之后是不同的。Php在csv输出文件中插入转义字符
我的JavaScript代码:
function exportCsv(){ var g = dijit.byId("grid");
g.exportGrid("csv",{
writerArgs: {
separator: ","
}
}, function(str){
alert(str);
var form = document.createElement('form');
dojo.attr(form, 'method', 'POST');
document.body.appendChild(form);
dojo.io.iframe.send({
url: "csv.php",
form: form,
method: "POST",
content: {exp: str},
timeout: 15000
});
document.body.removeChild(form);
});
}
我的PHP代码:
$time = time(); header("Pragma: public");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=\"grid_$time.csv\"");
$exportedData = $_POST['exp'];
echo $exportedData;
而且服务器插入一些分析代码行,以及... 非常感谢你为帮助家伙。 下面是输出CSV文件:
经度,纬度,网络,路由ID,测量
-74.18143812,40.62733114,\ “命名的路由\”,IN278,1
-73.90131905,40.75932358,\ “命名的路由\”,IN278,25
-73.8005193,40.73819062,\ “命名的路由\”,IN495,10
-73.82437443,40.79381815,\ “命名的路由\”,IN678,12
-73.79087796,40.66589334,\ “命名的路由\”,\ “NY 27 \”,12
< - Hosting24的分析代码 - >
< --End中分析代码 - >
回答:
- 您可以在客户端字符串(Javascript)中自行转义引号,并在PHP中忽略它们 - 这样您就可以控制整个过程。
- 您拥有主机的“分析代码”的原因是您使用免费托管(我假设)。这不是分析,而是添加到每个http响应中的广告。在HTML页面上,它们看起来像底部的广告。如果您使用AJAX,他们只会阻碍。如果你真的为托管付款,请致电托管商并要求他摆脱这些托管。
回答:
正如zerkms建议,这可能是由于magic quotes
。
尝试禁用它们。
以上是 Php在csv输出文件中插入转义字符 的全部内容, 来源链接: utcz.com/qa/261439.html