使用PHP将HTTP POST中的数据放入CSV中?

时间:2013-05-14 18:16:14

标签: php file-io replace

我正在编写一个基本的Android应用程序,通过HTTP POST将GPS数据发送到PHP页面。我希望数据只是由逗号分隔的两个值(纬度和经度)。

<?php
    $myFile = "requestslog.txt";
    $fh = fopen($myFile, 'a') or die("can't open file");
    fwrite($fh, "\r\n");
    fwrite($fh, file_get_contents('php://input'));
    fclose($fh);
    echo "<html><head /><body><iframe src=\"$myFile\" style=\"height:100%; width:100%;\"></iframe></body></html>"

?>

文本文件显示如下数据:

lat=55.020383&lon=-7.1819687
lat=55.020383&lon=-7.1819687
lat=55.020383&lon=-7.1819687
lat=55.0203604&lon=-7.1819732
lat=55.0203604&lon=-7.1819732
lat=55.0203604&lon=-7.1819732

PHP是否有可能取代'&amp;'用','?我希望最终结果是这两行的csv。我没有PHP的经验,任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

str_replace('&',',')应该可以做到这一点。

如果您想仅使用值结束,则可以在每一行上执行以下操作:

str_replace( array( 'lat=', '&long=' ), array( '', ',' ), $sLine );

其中$sLine是您文件中的一行。

完整示例:

<?php
$myFile = "requestslog.txt";
$fh = fopen($myFile, 'a') or die("can't open file");
fwrite($fh, "\r\n");
fwrite($fh, str_replace( array( 'lat=', '&lon=' ), array( '', ',' ), file_get_contents('php://input')));
fclose($fh);
echo "<html><head /><body><iframe src=\"$myFile\" style=\"height:100%; width:100%;\"></iframe></body></html>"

?>