写入文件时,请勿移至新行PHP

时间:2019-01-30 13:21:14

标签: php html

我有2个文件,分别名为Sellcar.php和interest.php。用户可以在sellcar.php中提交要出售的汽车详细信息,它将被写入txt文件。如果买家有兴趣,他们可以在interest.php中提交其详细信息,它将被发送到另一个txt文件。对于sellcar.php,每次有一个新条目时,它都会进入新行,但是对于interest.php,则没有。代码非常相似,所以我不确定发生了什么。

sellcar.php

<?php
if(isset($_POST['submit']))
{
    $fname =$_POST['fname'];
    $lname=$_POST['lname'];
    $phone=$_POST['phone'];
    $email=$_POST['email'];
    $platenum=$_POST['platenum'];
    $model=$_POST['model'];
    $caryear=$_POST['caryear'];
    $desc=$_POST['desc'];
    $travel=$_POST['travel'];
    $owner=$_POST['owner'];
    $repair=$_POST['repair'];
    $file = fopen("CarDirectory.txt","a+");
    fwrite($file,$fname . ',');
    fwrite($file,$lname . ',');
    fwrite($file,$phone . ',');
    fwrite($file,$email . ',');
    fwrite($file,$platenum . ',');
    fwrite($file,$model . ',');
    fwrite($file,$caryear . ',');
    fwrite($file, $desc . ',');
    fwrite($file,$travel . ',');
    fwrite($file,$owner . ',');
    fwrite($file,$repair . "\n");
    print_r(error_get_last());
    fclose($file);
    header("Location:mainmenu.php");
}
?>

interest.php

    <?php
if(isset($_POST['submit']))
{
    $fname =$_POST['fname'];
    $lname=$_POST['lname'];
    $phone=$_POST['phone'];
    $platenum=$_POST['platenum'];
    $price=$_POST['price'];
    $file = fopen("BuyerInterest.txt","a+");
    fwrite($file,$fname . ',');
    fwrite($file,$lname . ',');
    fwrite($file,$phone . ',');
    fwrite($file,$platenum . ',');
    fwrite($file,$price . "\n");
    print_r(error_get_last());
    fclose($file);
}
?>

2 个答案:

答案 0 :(得分:4)

尝试使用PHP_EOL的{​​{1}}版本。

示例:"\n"

fwrite($file,$price . PHP_EOL);的目的是为您使用的平台自动选择正确的换行符。

答案 1 :(得分:0)

PHP定义了诸如DIRECTORY_SEPERATORPHP_EOL(行尾-跨平台)之类的常量

http://php.net/manual/en/dir.constants.php

http://php.net/manual/en/reserved.constants.php

我在Google上的第一弹

Line break not working when writing to text file in PHP

这称为不变性和协方差。如果您使用的是Google,那么您会找到比这里的答案能更好地解释它的教程。