2011-02-10 25 views
5

ローカルホストでcodeigniterフレームワークを使用しましたが、ファイルをサーバーにアップロードしたときに、Windowsのcamel caseメソッド(UserModel、DbModel)を使用して、 )スクリプトはすべての小文字のすべてのファイルをロードしようとしているので、スクリプトはUserModelではなくusermodelを探しているので、404エラーが表示されます。小文字と大文字のファイル名

答えて

7

「開封したspl_autoload()実装」クラブへようこそ。

あなたは基本的にはどちらか

1.Renameすべてのファイルが小文字にすることができます

または

2.Write /適切なファイル名を探しオートローダを見つけます。 Here's Symofony's ClassLoader Componentこれは素晴らしい作品です。

0

Windowsは大文字と小文字を区別してファイル名を格納しません。 Linuxマシン上でファイルの名前を変更するか、すべてのファイル参照を小文字にする必要があります。

+0

Windows(ここでは、XP以前のエディションについては言及していないと仮定しています。P)は、適切な場合にファイル名を格納します。それは、それがファイルを見ているとき、どんなケースでも気にしません。したがって、ファイルを 'CamelCase.ext'として保存することはできますが、' CAMELcase.ExT'を調べるとそれを見つけることができます。 – Mchl

+0

私はすべてのファイルの名前を変更するつもりです... – andrei

+1

名前を変更するのを楽しんでください。Windowsマシンが特定のディレクトリのすべてのファイルの名前を変更し、LOWERCASE(ファイル名)を呼び出すための単純なスクリプトをVBSで実行できます。ちょっとした考え。 – Reallyethical

0

Linuxのファイル名は、Windowsと異なり大文字と小文字が区別されます。だからあなたはあなたが何を呼んでいるかを明確にしなければならない。上記のパスカルケースメソッドを使用するようにスクリプトを変更すると、正しく機能します。

また、Webサーバーにリダイレクトを設定して、ファイルのパスカルケースバージョンを探します。

どの言語を使用していますか、どのWebサーバーですか?

+0

私はPHPサーバを使用しています:x86_64-unknown-linux-gnu – andrei

関連する問題