Безопасно ли использовать DIRECTORY_SEPARATOR с trim ()

Безопасно ли иметь что-то вроде этого:

rtrim($pathToSomeDirectory, DIRECTORY_SEPARATOR);

Меня беспокоит, будет ли этот разделитель каталогов с обратной косой чертой в системах Windows рассматриваться как экранирующий символ?

0

Решение

Предполагая, что вы имеете в виду обратный слеш интерпретируется как побег, давайте посмотрим на следующий код:

var_dump(DIRECTORY_SEPARATOR)
var_dump('\\')

Код выше, даст результат ниже на ОС Windows:

string(1) "\"string(1) "\"

Это помогает аргументу для безопасного использования DIRECTORY_SEPARATOR в ОС Windows, где требуется буквальная обратная косая черта, например, аргумент, чтобы урезать (или его вариант rtrim).

Я проверил это на почти шестилетней версии PHP, то есть PHP 5.2.10, и DIRECTORY_SEPARATOR обрабатывается так, как если бы это было «\» (не «\», то есть строка без конца).

1

Другие решения

В руководстве к функции «rtrim» (см. Ниже) перечислены эти символы, которые необходимо обрезать:

Без второго параметра rtrim () удалит эти символы:

  • «» (ASCII 32 (0x20)), обычное пространство.
  • «\ t» (ASCII 9 (0x09)), вкладка.
  • «\ n» (ASCII 10 (0x0A)), новая строка (перевод строки).
  • «\ r» (ASCII 13 (0x0D)), возврат каретки.
  • «\ 0» (ASCII 0 (0x00)), NULL-байт.
  • «\ x0B» (ASCII 11 (0x0B)), вертикальная табуляция.

http://php.net/manual/en/function.rtrim.php

0