is_file и file_exists нечувствительны к регистру при смонтированном томе - PullRequest
0 голосов
/ 24 января 2019

У меня есть докер-контейнер, на котором запущен debian с PHP 5.6 как среда разработки. Код монтируется с моего хоста Win10. Сегодня я заметил, что и file_exists, и is_file нечувствительны к регистру в смонтированном каталоге. И is_file("/some/path/test.php"), и is_file("/some/path/Test.php") возвращают true. На Windows-машине это ожидаемое поведение, но не на Linux. Я хочу не менять код только для того, чтобы приспособиться к моей конкретной среде разработки.

Есть ли способ настроить Docker или PHP для эмуляции поведения реальной машины Linux без подключенного тома?

1 Ответ

0 голосов
/ 24 января 2019

realpath($filePath), вероятно, поможет:

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

Так что, по сути, вы можете использовать

$resolvedPath = realpath($myPath);
if (is_file($resolvedPath)) {...}

Хотя сейчас я не уверен, что это на самом деле ответило на вашвопрос.Если ваши файлы всегда хорошо сформированы для Linux, они также будут работать в Windows?Или вы планируете иметь два разных файла с именами Test.php и test.php в одной папке / каталоге, и вам необходимо распознать эту разницу?

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