0

問題は次のとおりです。ある場所で、相対パスを使用して特定のフォルダー内のすべてのファイルの名前をロードしています。

if ($handle = opendir('images/uploads/form_id_1103/1'))

これは正常に機能していますが、次のように変更すると:

if ($handle = opendir('/images/uploads/form_id_1103/1'))

エラーが表示されます: No such file or directory in - 言及しておくと、images フォルダーはルートにあるため、/images は有効である必要があります

それまでの間、その(「存在しない」)フォルダから画像を表示すると

<img src="/images/uploads/form_id_1103/1/test.jpg">

正常に動作し、画像が表示されます。

Apache の mod_rewrite を使用して URL を SEO に適した URL に変換しているため、相対パスは使用できません。

4

2 に答える 2

4

Web URL とファイル システム パスを混同しています。PHP のファイルベースの関数は、URL が full+absolute でない限り、URL では機能しませんhttp://blah/blah/blah/blah)。絶対パスを使用する場合は、サーバー上のイメージの実際のパスを把握する必要があります。それは次のようなものでしょう

/home/site/example.com/docroot/images/etc...
                               ^---url starts here.
于 2011-10-23T20:24:02.607 に答える
2

Linux サーバーで / でパスを開始する場合。Linux インストールのルートからディレクトリを開くかのように処理されます。現在の PHP ファイルに対して相対的ではありません。パスの先頭にあるドットは、現在のディレクトリを意味します。

于 2011-10-23T20:27:56.083 に答える