Prima di tutto, Mac OS X non è il mio sistema operativo nativo, ma dal momento che mi trovo a mio agio in Ubuntu, è stata per la maggior parte una transizione facile.case sensitive su Mac per file_exists()?
Essendo che è basato su Unix, ho avuto l'impressione che questo sistema operativo fosse sensibile al maiuscolo/minuscolo, ma la funzione file_exists()
sta dicendo diversamente.
Nel mio file htdocs, ho questi 2 file:
test.php
MyFiLeWiThMiXeDCaSe.php
In test.php, ho questo codice:
if(file_exists('myfilewithmixedcase.php')) {
echo 'exists';
} else {
echo 'doesnt exist';
}
// ouputs: exists
Qualcuno sa come/perché questo sta accadendo? Questo sta causando un problema perché quando distribuiamo un codice come questo su un SO Linux, file_exists()
restituisce false.
BTW: Sto usando MAMP PRO come server web locale.
Non è una risposta alla domanda corrente, ma è facile creare una partizione aggiuntiva con un file system con distinzione tra maiuscole e minuscole e montarla in quanto il file system predefinito su osx consente il ridimensionamento. Metti i tuoi progetti web su quella partizione per evitare di creare bug/problemi correlati alla distinzione tra maiuscole e minuscole. Fai attenzione ai tuoi percorsi Apache se decidi di creare un link simbolico alla tua nuova partizione. –
Grazie per il consiglio, sembra che se creo una partizione per la mia cartella htdocs, dovrebbe minimizzare questo problema in modo sostanziale. – Mark1inLA
È possibile scrivere una versione di distinzione tra maiuscole e minuscole di file_exists(). È possibile prima ottenere l'elenco dei file della directory superiore e controllare se il file corrente è in esso con confronto tra maiuscole e minuscole. –