php eol что такое

Php eol что такое

There is no way to implement a backwards compatible __DIR__ in versions prior to 5.3.0.

A lot of notes here concern defining the __DIR__ magic constant for PHP versions not supporting the feature. Of course you can define this magic constant for PHP versions not yet having this constant, but it will defeat its purpose as soon as you are using the constant in an included file, which may be in a different directory then the file defining the __DIR__ constant. As such, the constant has lost its *magic*, and would be rather useless unless you assure yourself to have all of your includes in the same directory.

Concluding: eye catchup at gmail dot com’s note regarding whether you can or cannot define magic constants is valid, but stating that defining __DIR__ is not useless, is not!

If you’re using PHP with fpm (common in this day and age), be aware that __DIR__ and __FILE__ will return values based on the fpm root which MAY differ from its actual location on the file system.

This can cause temporary head-scratching if deploying an app where php files within the web root pull in PHP files from outside of itself (a very common case). You may be wondering why __DIR__ returns «/» when the file itself lives in /var/www/html or whathaveyou.

You might handle such a situation by having NGINX explicitly add the necessary part of the path in its fastcgi request and then you can set the root on the FPM process / server / container to be something other than the webroot (so long as no other way it could become publicly accessible).

Hope that saves someone five minutes who’s moving code to FPM that uses __DIR__.

Источник

Когда я использую PHP-константу «PHP_EOL»?

Я иногда вижу это в примерах кода PHP. Это решает проблемы конечной линии DOS / Mac / Unix?

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

Обратите внимание, что PHP_EOL представляет символ конца строки для текущей системы. Например, он не найдет конечную строку Windows при выполнении в Unix-подобной системе.

Начиная main/php.h с версии PHP 7.1.1 и версии 5.6.30:

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

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

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

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

PHP_EOL (string) Правильный символ «Конец строки» для этой платформы. Доступно с PHP 4.3.10 и PHP 5.0.2

Вы можете использовать эту константу при чтении или записи текстовых файлов в файловой системе сервера.

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

Если окончания строк имеют значение, явно указывайте окончания строк вместо использования константы. Например:

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

Если вы выводите на веб-страницу в HTML, в частности, текст

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

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

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

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

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

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

Источник

Когда использовать константу PHP «PHP_EOL»

Иногда я вижу ее в примерах кода PHP. Решает ли это проблемы завершения строки в системах DOS/Mac/Unix?

Ответ 1

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

Обратите внимание, что PHP_EOL представляет собой символ конца строки для текущей системы. Например, он не найдет конечную строку Windows при выполнении в unix-подобной системе.

Ответ 2

Начиная main/php.h с версии PHP 7.1.1 и версии 5.6.30:

# define PHPAPI __declspec(dllexport)

# define PHPAPI __declspec(dllimport)

# if defined(__GNUC__) && __GNUC__ >= 4

# define PHPAPI __attribute__ ((visibility(«default»)))

Ответ 3

Вы используете PHP_EOL, когда вам нужна новая строк а и вы хотите использовать кроссплатформенный подход. Это можно применять при записи файлов в файловую систему (журналы, экспорт и другие). Вы можете использовать это, если хотите, чтобы сгенерированный вами HTML был читабельным. Поэтому вы можете сопровождать ваш
символом PHP_EOL. Также это можно использовать, если вы запускаете php как скрипт из cron и вам нужно вывести что-то и отформатировать это для экрана. Или, если вы создаете письмо для отправки, которое нуждается в форматировании.

Ответ 4

При выводе на веб-страницу в HTML, особенно текста в

Я бы не стал использовать его для чего-то вроде разделителей в CSV-файлах. Платформа, на которой работает сервер, не должна определять окончания строк в генерируемых или потребляемых файлах.

Ответ 5

Я нашел PHP_EOL очень полезным для работы с файлами, особенно если вы записываете в файл несколько строк содержимого. Например, у вас есть длинная строка, которую вы хотите разбить на несколько строк при записи в обычный файл. Использование \r\n может не сработать, поэтому просто добавьте PHP_EOL в свой скрипт, и результат будет потрясающим. Посмотрите на этот простой пример ниже:

// Указатель файла находится в конце файла, следовательно.

if (!$handle = fopen($file, ‘a’)) <

echo «Не удалось открыть файл ($file)»;

echo «Не удалось записать в файл ($file)»;

echo «Успех, содержимое ($output) записано в файл ($file)»;

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *