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中分析代码 - >

回答:

  1. 您可以在客户端字符串(Javascript)中自行转义引号,并在PHP中忽略它们 - 这样您就可以控制整个过程。
  2. 您拥有主机的“分析代码”的原因是您使用免费托管(我假设)。这不是分析,而是添加到每个http响应中的广告。在HTML页面上,它们看起来像底部的广告。如果您使用AJAX,他们只会阻碍。如果你真的为托管付款,请致电托管商并要求他摆脱这些托管。

回答:

正如zerkms建议,这可能是由于magic quotes

尝试禁用它们。

以上是 Php在csv输出文件中插入转义字符 的全部内容, 来源链接: utcz.com/qa/261439.html

回到顶部