браузеры не читают новую строку в файле php - PullRequest
0 голосов
/ 15 июня 2011

У меня есть защищенный паролем текстовый файл, и чтобы сделать его защищенным паролем, я использовал скрипт защиты паролем (который прекрасно работает), но мне потребовалось переименовать текстовый файл в .php на моем сервере. Однако все прошло нормально, когда я открываю этот текстовый файл в любом браузере на окнах, я не вижу новых строк (раньше я их видел)

Я попытался написать - "\ n", "\ r", "\ r \ n". Я думаю, что это связано с браузером, думая, что это .php файл, я думаю.

Ответы [ 6 ]

7 голосов
/ 15 июня 2011

Это потому, что сервер отправляет другой тип MIME.Теперь он отправляет text/html (тип по умолчанию, возвращаемый PHP), а не text/plain.

Ваш браузер ожидает HTML.Разрывы строк аналогичны любым другим пробелам в HTML, поэтому они по сути бессмысленны для того, что вы пытаетесь сделать.

Вы можете использовать это, чтобы исправить это:

header('Content-Type: text/plain');

Обязательно поставьте это наверху своего кода или, по крайней мере, перед тем, как что-либо выводить.

Это заставит сервер отправлять ожидаемый вами тип MIME.

3 голосов
/ 15 июня 2011

По умолчанию выходные данные PHP-скриптов отображаются в формате HTML, что означает, что пробел свернут. Если вы хотите изменить это обратно на текст, вам нужно установить для заголовка Content-Type значение «text / plain», либо на веб-сервере, либо с помощью функции header().

1 голос
/ 15 июня 2011

Я не уверен, правильно ли я понял ваш вопрос, но в двух случаях есть решение:

-Вы выводите текст: в этом случае вам нужно использовать

<br>

-Вы хотите записать его с новыми строками в файле: используйте PHP-константу

PHP_EOL

, что означает конец строки.Это всегда вставляет правильный разрыв.

1 голос
/ 15 июня 2011

Это потому, что браузер будет видеть содержимое в виде html, а в html символ новой строки - это просто пробел

0 голосов
/ 15 июня 2011

Вам необходимо использовать <br>, так как HTML отображается в браузере.

0 голосов
/ 15 июня 2011

Браузеры используют HTML для форматирования текста (конечно, содержится в html)

используйте <br> или <p>

Кроме того, учитывая, что ваш файл является .php, это нормальное поведение, когда ваш веб-сервер отправит его как text/html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...