Когда я использую постоянный “PHP_EOL” PHP?

346
задан Pacerier 18 October 2014 в 00:11
поделиться

9 ответов

Да, PHP_EOL якобы используется для нахождения символа новой строки кросс-платформенно-совместимым способом, таким образом, он обрабатывает проблемы DOS/Unix.

Примечание, что PHP_EOL представляет endline символ для текущий система. Например, это не найдет Windows endline, когда выполняется в подобной Unix системе.

346
ответ дан Félix Gagnon-Grenier 23 November 2019 в 00:30
поделиться

Вы используете PHP_EOL, когда Вы хотите новую строку, и Вы хотите быть межплатформенными.

Это могло быть, когда Вы пишете файлы в файловую систему (журналы, экспорт, другой).

Вы могли использовать его, если Вы хотите, чтобы Ваш сгенерированный HTML был читаем. Таким образом, Вы могли бы следовать за Вашим <br /> с PHP_EOL.

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

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

80
ответ дан John 23 November 2019 в 00:30
поделиться

Определение PHP_EOL заключается в том, что он дает вам символ новой строки операционной системы, над которой вы работаете.

На практике вам это почти никогда не понадобится. Рассмотрим несколько случаев:

  • Когда вы выводите в Интернет, на самом деле не существует никаких соглашений, за исключением того, что вы должны быть последовательными. Поскольку большинство серверов Unixy, вы все равно захотите использовать «\ n».

  • Если вы выводите в файл, PHP_EOL может показаться хорошей идеей. Тем не менее, вы можете получить аналогичный эффект, имея буквальный символ новой строки в вашем файле, и это поможет вам, если вы попытаетесь запустить некоторые файлы в формате CRLF в Unix, не забивая существующие символы новой строки (как парень с двойной загрузкой системы). , Могу сказать, что предпочитаю последнее поведение)

PHP_EOL настолько нелепо длинен, что его действительно не стоит использовать.

7
ответ дан 23 November 2019 в 00:30
поделиться

Я просто испытал эту проблему при выводе клиенту Windows. Несомненно, PHP_EOL для стороны сервера, но большая часть вывода содержания от php для клиентов окон. Таким образом, я должен поместить свои результаты сюда для следующего человека.

А повторяют 'Мой текст'. PHP_EOL;//Плохо, потому что это справедливые выводы \n и большинство версий блокнота окон отображает это на одной строке и большинстве окон, бухгалтерское программное обеспечение не может импортировать этот тип конца символа строки.

B) повторяют 'Мой текст \r\n';//Плохо, потому что единственный заключил строки php в кавычки, не интерпретируют эхо \r\n

C) "Мой текст \r\n";//Yay это работает! Взгляды исправляют в блокноте и работах при импорте файла к другому программному обеспечению Windows, таких как учет окон и окна производственное программное обеспечение.

0
ответ дан 23 November 2019 в 00:30
поделиться

Удобно с error_log (), если вы выводите несколько строк.

Я обнаружил, что многие отладочные операторы выглядят странно при моей установке Windows, так как разработчики предполагали окончания unix при нарушении вверх по строкам.

1
ответ дан 23 November 2019 в 00:30
поделиться

Я использую константу PHP_EOL в некоторых сценариях командной строки, которые мне приходилось писать. Я разрабатываю на своем локальном компьютере с Windows, а затем тестирую на сервере Linux. Использование константы означало, что я не

0
ответ дан 23 November 2019 в 00:30
поделиться

Я использую WebCalendar и обнаружил, что Mac iCal блокирует импорт сгенерированного файла ics, потому что конец строки жестко закодирован в xcal.php как "\ r \ n". Я вошел и заменил все вхождения на PHP_EOL, и теперь iCal счастлив! Я также тестировал его в Vista, и Outlook также смог импортировать файл, даже несмотря на то, что символ конца строки - "\ n".

0
ответ дан 23 November 2019 в 00:30
поделиться

Я предпочитаю использовать \ n \ r. Кроме того, я использую систему Windows, и \ n, по моему опыту, отлично работает.

Поскольку PHP_EOL не работает с регулярными выражениями, и это наиболее полезный способ работы с текстом, я действительно никогда не использовал его и не нуждался в .

-2
ответ дан 23 November 2019 в 00:30
поделиться

Когда jumi (плагин joomla для PHP) компилирует ваш код, по какой-то причине он удаляет все обратные косые черты из вашего кода. Такое, что что-то вроде $ csv_output. = "\ N"; становится $ csv_output. = "N";

Очень неприятная ошибка!

Используйте PHP_EOL вместо этого, чтобы получить желаемый результат.

0
ответ дан 23 November 2019 в 00:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: