web-dev-qa-db-ja.com

PHPでテキストファイルに書き込むときに改行が機能しない

次のテストスクリプトがあります。

<?php

$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "Floppy Jalopy\n";
fwrite($fh, $stringData);
$stringData = "Pointy Pinto\n";
fwrite($fh, $stringData);
fclose($fh);

?>

ただし、実行してメモ帳を開くと、データは次のように改行なしで1行で返されます。

フロッピージャロピー(クレイジーボックス)ポインティピント(クレイジーボックス)

ここで「クレイジーボックス」に適したキャラクターを見つけることはできませんが、本当にクレイジーボックスです。与えるもの!

29
JM4

Windowsのメモ帳でファイルを開く場合は、Windowsの改行を使用する必要があります:\r\n

35
AndreKR

PHP_EOLを使用するのが最善です。これはクロスプラットフォームなので、プラットフォームの正しい改行文字を自動的に選択しますPHPは現在実行中です。

$stringData = "Floppy Jalopy" . PHP_EOL;

PHP定数

59
Evan Mulawski

コードは正常に実行されます。

Windowsで作業している場合は、 Notepad2 または Notepad ++ を使用します。組み込みのメモ帳では、Unixスタイルの行末に対応できません。

1
bcosca

。 PHP_EOL;普遍的に動作します

0
swarnim dixit