在用PHP创建的csv中添加行标题?

时间:2013-05-14 20:30:41

标签: php csv

我有PHP为自己创建一个CSV文件,但是我想看看是否可以在文件创建时创建一个带标题(纬度和经度)的行,但不能在后续更新中创建该文件。

    <?php
    $myFile = "locationlog";
    $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>"

?>

此代码创建如下文件:

55.0203786,-7.1819549
55.0204016,-7.1819482
55.0204016,-7.1819482
55.0203927,-7.1819593
55.0203927,-7.1819593

但我正在寻找它来创建这样的文件:

Latitude,Longitude
55.0203786,-7.1819549
55.0204016,-7.1819482
55.0204016,-7.1819482
55.0203927,-7.1819593
55.0203927,-7.1819593

我已尝试手动输入标题,但似乎停止了PHP脚本再次更新文件。

编辑:

我尝试过使用filesize方法。

<?php
    $myFile = "locationlog";
    $fh = fopen($myFile, 'a') or die("can't open file");
    fwrite($fh, "\r\n");
    if(filesize($file) == 0) { fwrite($fh, "Latitude,Longitude\r\n"); }
    elseif(filesize($file) > 0){
        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>"

?>

似乎有相反的效果,显示结果:

Latitude,Longitude

Latitude,Longitude

Latitude,Longitude

Latitude,Longitude

我显然做错了什么。

编辑2:

我最终想通了。谢谢您的帮助!这是脚本,以防将来有人需要它。

<?php
    $myFile = "locationlog";
    if(filesize(locationlog) == 0) { 
    $fh = fopen($myFile, 'a') or die("can't open file");
    fwrite($fh, "Latitude,Longitude");
    }
    $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>"

?>

1 个答案:

答案 0 :(得分:1)

之后

fwrite($fh, "\r\n");

添加

fwrite($fh, "Latitude,Longitude\r\n");