Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法在文本文件中创建换行符_Php - Fatal编程技术网

Php 无法在文本文件中创建换行符

Php 无法在文本文件中创建换行符,php,Php,我在txt文件中写入数据。但是,写入的数据无法创建新行。这是我的密码 <?php $address[] = "jon smith,1234 oak st.,big city,or, 9999"; $address[] = "jon smith,1234 oak st.,big city,or, 9999"; $address[] = "jon smith,1234 oak st.,big city,or, 9999"; $fh=fopen("address.txt","a"); for($

我在txt文件中写入数据。但是,写入的数据无法创建新行。这是我的密码

<?php
$address[] = "jon smith,1234 oak st.,big city,or, 9999";
$address[] = "jon smith,1234 oak st.,big city,or, 9999";
$address[] = "jon smith,1234 oak st.,big city,or, 9999";
$fh=fopen("address.txt","a");
for($i=0;$i<3;$i++)
{
    fwrite($fh,$address[$i]."\n");
}
fclose($fh);
?>

我在写的最后尝试了“
\n”
,但似乎不起作用。

您在新行中使用了
\n
字符,这对于基于*nix的系统是正确的。在windows中是
\r\n
。在其他平台上可能会有所不同。改用
PHP\u EOL
。这将为当前平台正确添加换行符


您用来查看文件的编辑器也可能有问题。例如,记事本将只将
\r\n
识别为换行符。在本例中,您使用的是
\n
,因此如果您使用的是记事本,则不会显示这些内容。解决方案是使用记事本可以识别的正确序列,或者使用不同的编辑器(记事本++很好)

您正在为新行使用
\n
字符,这对于基于*nix的系统是正确的。在windows中是
\r\n
。在其他平台上可能会有所不同。改用
PHP\u EOL
。这将为当前平台正确添加换行符


您用来查看文件的编辑器也可能有问题。例如,记事本将只将
\r\n
识别为换行符。在本例中,您使用的是
\n
,因此如果您使用的是记事本,则不会显示这些内容。解决方案是使用记事本可以识别的正确序列,或者使用不同的编辑器(记事本++很好)

试试这个:

Thsi是最简单的方法

<?php
$address[] = "jon smith,1234 oak st.,big city,or, 9999";
$address[] = "jon smith,1234 oak st.,big city,or, 9999";
$address[] = "jon smith,1234 oak st.,big city,or, 9999";
$fh=fopen("address.txt","a");
for($i=0;$i<3;$i++)
{
    fwrite($fh,$address[$i]."
");
}
fclose($fh);
?>


但是您也可以使用
\r\n
来创建新行,甚至
PHP\u EOL

试试这个:

Thsi是最简单的方法

<?php
$address[] = "jon smith,1234 oak st.,big city,or, 9999";
$address[] = "jon smith,1234 oak st.,big city,or, 9999";
$address[] = "jon smith,1234 oak st.,big city,or, 9999";
$fh=fopen("address.txt","a");
for($i=0;$i<3;$i++)
{
    fwrite($fh,$address[$i]."
");
}
fclose($fh);
?>


但是您也可以使用
\r\n
来创建新行,甚至
PHP\u EOL

试试PHP\u EOL下面是代码

<?php
$address[] = "jon smith,1234 oak st.,big city,or, 9999";
$address[] = "jon smith,1234 oak st.,big city,or, 9999";
$address[] = "jon smith,1234 oak st.,big city,or, 9999";
$fh=fopen("address.txt","a");
for($i=0;$i<3;$i++)
{
    fwrite($fh,$address[$i].PHP_EOL);
}
fclose($fh);
?>

试试PHP_EOL下面是代码

<?php
$address[] = "jon smith,1234 oak st.,big city,or, 9999";
$address[] = "jon smith,1234 oak st.,big city,or, 9999";
$address[] = "jon smith,1234 oak st.,big city,or, 9999";
$fh=fopen("address.txt","a");
for($i=0;$i<3;$i++)
{
    fwrite($fh,$address[$i].PHP_EOL);
}
fclose($fh);
?>

看起来你正在制作一个csv文件。你知道吗?
\n
对我有用。奇怪。您在记事本上看不到换行符,但在记事本++或任何其他编辑器上它会完美地显示出来。如果您使用windows记事本打开创建的文件,请尝试\n\r。您的代码对我来说检查为“OK”,但我在UNIX上。如果您在Windows或MAC上,请使用
\r\n
--
fwrite($fh,$address[$i]。“\r\n”)---在UNIX上包含
\r
不会影响任何内容。看起来您正在创建csv文件。你知道吗?
\n
对我有用。奇怪。您在记事本上看不到换行符,但在记事本++或任何其他编辑器上它会完美地显示出来。如果您使用windows记事本打开创建的文件,请尝试\n\r。您的代码对我来说检查为“OK”,但我在UNIX上。如果您在Windows或MAC上,请使用
\r\n
--
fwrite($fh,$address[$i]。“\r\n”)---在UNIX上包含
\r
不会影响任何内容。“您用来查看文件的编辑器也可能有问题…”事实上,仅使用
\n
进行测试后,我的文件被正确写入并使用记事本查看。再说一次,我的服务器是UNIX,而我的电脑是WindowsXP,带有记事本;只是为了测试一下。不过我有记事本+。-)@弗雷德二世:奇怪。我看到记事本不能将
\n
用作换行符的地方。Windows Notepad不如Notepad++智能,它跳过了非Windows的行尾字符。我只会使用
PHP\u EOL
,这样不管它在什么平台上使用,脚本都能正常工作。我认为它可能是Windows的更新版本,而不是XP。事实上,我的一个朋友在Windows7的记事本上,直到他更改了其中的一些设置,它才正确地打开了一个文件;对奇怪的关于
PHP\u EOL
,您是对的,但最好使用它。“您用来查看文件的编辑器也可能有问题……”事实上,仅使用
\n
进行测试后,我的文件编写正确,并使用记事本查看。再说一次,我的服务器是UNIX,而我的电脑是WindowsXP,带有记事本;只是为了测试一下。不过我有记事本+。-)@弗雷德二世:奇怪。我看到记事本不能将
\n
用作换行符的地方。Windows Notepad不如Notepad++智能,它跳过了非Windows的行尾字符。我只会使用
PHP\u EOL
,这样不管它在什么平台上使用,脚本都能正常工作。我认为它可能是Windows的更新版本,而不是XP。事实上,我的一个朋友在Windows7的记事本上,直到他更改了其中的一些设置,它才正确地打开了一个文件;对奇怪的关于
PHP\u EOL
,您是对的,但最好使用它。