Zunächst einmal ist Mac OS X nicht mein Betriebssystem, aber da ich mit Ubuntu vertraut bin, war es größtenteils ein einfacher Übergang.Groß-/Kleinschreibung bei Mac für file_exists()?
Da es Unix-basiert ist, hatte ich den Eindruck, dass dies die Groß-/Kleinschreibung war, aber die file_exists()
Funktion sagt etwas anderes.
In meiner htdocs Datei, ich habe diese 2-Dateien:
test.php
MyFiLeWiThMiXeDCaSe.php
In test.php, ich habe diesen Code:
if(file_exists('myfilewithmixedcase.php')) {
echo 'exists';
} else {
echo 'doesnt exist';
}
// ouputs: exists
Wer weiß wie/warum das passiert? Dies führt zu einem Problem, da bei falscher Bereitstellung von Code an ein Linux-Betriebssystem den Wert false zurückgibt.
BTW: Ich benutze MAMP PRO als lokaler Webserver.
keine Antwort auf Ihre aktuelle Frage, aber es ist einfach eine kleine zusätzliche Partition, die Groß- und Kleinschreibung Dateisystem hat zu erstellen und dass montieren, da das Standard-Dateisystem auf osx Ändern der Größe ermöglicht. Platzieren Sie Ihre Webprojekte auf dieser Partition, um zu verhindern, dass Fehler/Probleme in Bezug auf die Groß- und Kleinschreibung entstehen. Achte nur auf deine Apache-Pfade, wenn du einen Symlink zu deiner neuen Partition erstellst. –
Vielen Dank für den Rat, es klingt wie, wenn ich eine Partition für meine htdocs-Ordner erstellen, sollte es dieses Problem wesentlich zu minimieren. – Mark1inLA
Sie können selbst eine Case-Sensitivity-Version von file_exists() schreiben. Sie können zuerst die Dateiliste des übergeordneten Verzeichnisses abrufen und prüfen, ob die aktuelle Datei darin enthalten ist, wobei die Groß- und Kleinschreibung berücksichtigt wird. –