Это меня доводит до белого каления! Как с этим бороться?
Почему бы в PHP не сделать так, чтобы все функции жрали оба типа слешей, а возвращали исключительно пути с прямыми слешами?
Это же мощный источник багов.
PHP
PHP считает прямой и обратный слеши в пути файла за разные символы! Что делать?
В пхп есть функция которая выпрямляет слеши
realpath() вернет нормальные для этой ОС слеши, но только если передали валидный путь к файлу, если не валидный слеши она исправлять не будет а вернёт false, и если все же хочется их пофиксить то можно сделать замену функцией str_replace
realpath() вернет нормальные для этой ОС слеши, но только если передали валидный путь к файлу, если не валидный слеши она исправлять не будет а вернёт false, и если все же хочется их пофиксить то можно сделать замену функцией str_replace
Можно принудительно менять все \ на / - Windows прекрасно понимает такие пути, если они используются в системных вызовах, а не в командной строке.
Можно использовать стандартную константу DIRECTORY_SEPARATOR - чтобы в любой системе работать с правильным разделителем.
Можно использовать стандартную константу PHP_OS_FAMILY - чтобы подключать версию функции, зависящую от ОС.
P.S. 99% существующего PHP-кода работает в *NIX, где проблем со слешами возникнуть не может. Но в Windows слэши - это только вершина айсберга.
Можно использовать стандартную константу DIRECTORY_SEPARATOR - чтобы в любой системе работать с правильным разделителем.
Можно использовать стандартную константу PHP_OS_FAMILY - чтобы подключать версию функции, зависящую от ОС.
P.S. 99% существующего PHP-кода работает в *NIX, где проблем со слешами возникнуть не может. Но в Windows слэши - это только вершина айсберга.
Прямой слеш это / знак деления, по сути нормальный наклон при письме, а вон ненормальный слеш как раз обратный \ и вот его не надо было бы вообще делать для путей... но так как «в MS-DOS, потому что уже была задействована / для указания ключей командной строки (оставшегося в наследство от CP/M, где MS-DOS команда "dir /w" писалась как "dir/w")»
Так что разные это символы, что уж поделать. Хочешь, то приводи своей функцией все к прямым слешам
Так что разные это символы, что уж поделать. Хочешь, то приводи своей функцией все к прямым слешам
Лол, отккрой ларавал и почитай код его с недельку, а то ты так всю жизнь будешь костыли и баги генерить
Сергей Самойлов
Кто вообще додумался использовать обратные слэши в путях файлов? Это сделали специально, чтобы над кодерами издеваться.
Сергей Самойлов
Бил Гейтс говнокодер ещё тот. Это из-за него тварюки теперь кодеры под виндой мучаются с обратными слэшами.
В никсах же разрешён только прямой слэш или я ошибаюсь?
В никсах же разрешён только прямой слэш или я ошибаюсь?
Alex K
Бил гейц вообще не программист, он купил компанию microsoft со всеми программистами.
Похожие вопросы
- Почему PHP считают ужасным языком программирования?
- Несколько AJAX запросов на один PHP файл.
- MVC, .php / .tpl ...как должен выглядеть файл с расширением tpl?
- Объясните что за файл php.ini
- Как заменить html код с помощью php файла.
- Как спарсить страницы с помощью PHP (адрес страниц тот же, но содержимое разное в зависимости от введённого логина)?
- А для чего создаётся огромное количество файлов php? Это для удобства ?
- какой функционал делают на сайтах с помощью php? вообще не пойму что конкретно пишут на этом языке на сайтах..
- PHP Polling ChatGPT
- Не работает PHP include на хостинге
Кто вообще додумался использовать обратные слэши в путях файлов? Это сделали специально, чтобы над кодерами издеваться.