まず、Mac OS Xは私のネイティブオペレーティングシステムではありませんが、私はUbuntuで快適であるため、ほとんどの場合、簡単に移行しています。Macではfile_exists()の大文字と小文字が区別されますか?
UNIXベースであるため、私はこのOSが大文字と小文字を区別していたという印象を受けましたが、別の意味ではfile_exists()
という機能があります。私のhtdocsファイルで
、私はこれらの2つのファイルがあります。
if(file_exists('myfilewithmixedcase.php')) {
echo 'exists';
} else {
echo 'doesnt exist';
}
// ouputs: exists
:test.phpをに
test.phpを
MyFiLeWiThMiXeDCaSe.php
を、私はこのコードを持っています誰がどのように/なぜこれが起こっているのか知っていますか?これは、Linux OSにこのようなコードをデプロイすると、file_exists()
がfalseを返すため、問題を引き起こしています。
私はMAMP PROをローカルWebサーバーとして使用しています。
あなたの現在の質問に答えることはできませんが、大文字と小文字を区別するファイルシステムを持ち、osxのデフォルトのファイルシステムでサイズ変更が可能なのでマウントするための小さな追加パーティションを作成するのは簡単です。大文字と小文字を区別するバグや問題が発生しないように、Webプロジェクトをそのパーティションに配置します。新しいパーティションへのシンボリックリンクを作成する場合は、Apacheのパスに注意してください。 –
アドバイスをありがとう、私はhtdocsフォルダのパーティションを作成するように聞こえる、この問題を大幅に最小限に抑える必要があります。 – Mark1inLA
file_exists()の大文字と小文字を区別するバージョンをあなた自身で書くことができます。最初に親ディレクトリのファイルリストを取得し、大文字と小文字を区別して現在のファイルが存在するかどうかを調べることができます。 –