Po pierwsze, Mac OS X nie jest moim natywnym systemem operacyjnym, ale ponieważ czuję się komfortowo w Ubuntu, było to łatwe przejście w przeważającej części.wielkość liter na Mac dla file_exists()?
Będąc tym, że jest oparty na Uniksie, byłem pod wrażeniem, że ten os rozróżniał wielkość liter, ale funkcja file_exists()
mówi inaczej.
W moim pliku htdocs, mam te 2 pliki:
test.php
MyFiLeWiThMiXeDCaSe.php
W test.php, mam ten kod:
if(file_exists('myfilewithmixedcase.php')) {
echo 'exists';
} else {
echo 'doesnt exist';
}
// ouputs: exists
Czy ktoś wie jak/dlaczego tak się dzieje? Jest to przyczyną problemu, ponieważ gdy wdrażamy kod taki jak ten w systemie Linux, file_exists()
zwraca wartość false.
BTW: Używam MAMP PRO jako lokalnego serwera WWW.
Brak odpowiedzi na bieżące pytanie, ale łatwo jest utworzyć niewielką dodatkową partycję, która ma system plików wrażliwy na wielkość liter i zamontować go, ponieważ domyślny system plików na osx umożliwia zmianę rozmiaru. Umieść swoje projekty internetowe na tej partycji, aby zapobiec tworzeniu błędów/problemów związanych z rozróżnianiem wielkości liter. Po prostu uważaj na swoje ścieżki apache, jeśli zdecydujesz się utworzyć dowiązanie symboliczne do nowej partycji. –
Dziękuję za radę, brzmi to tak, jakbym utworzył partycję dla mojego folderu htdocs, powinien znacznie zminimalizować ten problem. – Mark1inLA
Możesz napisać do Ciebie osobiście wersję pliku file_exists(). Możesz najpierw uzyskać listę plików katalogu nadrzędnego i sprawdzić, czy jest w nim obecny plik z porównaniem wielkości liter. –