4

ディレクトリにfile_existがあるかどうかを調べようとしています。そうでない場合は、別の画像を使用したいと思います。しかし、私はfile_exists関数を使用しているので、常にfalseを返します。

私が使用したコードは

while($r=mysql_fetch_row($res))
    {  
        if(!file_exists('http://localhost/dropbox/lib/admin/'.$r[5]))
            {
                $file='http://localhost/dropbox/lib/admin/images/noimage.gif';
            }
        else
            $file='http://localhost/dropbox/lib/admin/'.$r[5];}

ただし、ファイルが終了しても、関数は常にfalseを返します。使って確認しました

<img src="<?php echo 'http://localhost/dropbox/lib/admin/'.$r[5]; ?>" />

これにより、画像が正しく表示されました。

誰か助けてください

4

6 に答える 6

2

file_existsURL ではなく、ファイル システム パスを使用します。ブラウザーで URL を使用して、ネットワーク上の Web ブラウザーと Web サーバーを介して PHP スクリプトにアクセスします。ただし、PHP スクリプト自体はローカル ファイル システムにアクセスでき、それを使用します。ネットワーク スタックを経由してファイルにアクセスすることはありません。

のようなものを使用してfile_exists('C:\\foo\\bar\\dropbox\\lib\\admin\\' ...)ください。

于 2012-07-09T09:16:18.337 に答える
0

間違ったパラメータであるfile_exists関数にURLを渡しています。その代わりに、そこにローカルパスを渡します。

file_exist()関数の詳細については、次のphpマニュアルをお読みください。

http://php.net/manual/en/function.file-exists.php

于 2012-07-09T09:20:44.043 に答える
0

URL を file_exists 関数に渡していますが、これは間違っています。その代わりに、フォルダーのローカル パスを渡します。

while($r=mysql_fetch_row($res))
{  
 if(!file_exists('/dropbox/lib/admin/'.$r[5]))
 {
  $file='/dropbox/lib/admin/images/noimage.gif';
 }
 else
 $file='/dropbox/lib/admin/'.$r[5];
}
于 2012-07-09T09:55:23.817 に答える
0

file_existsは HTTP を使用したアドレスをサポートしていません (HTTPでサポートされているラッパーのリストにstat含まれていないため、これを確認できます)。ドキュメントにあるように、リモート ファイルは FTP などの一部のラッパーでチェックできますが、HTTP 経由ではチェックできないため、常に false が返されます。file_existsfile_exists

このファイルがローカル マシン上にあると仮定すると (これは によって示唆されていlocalhostます)、ローカル ファイル パスを使用してアクセスする必要があります。これが何であるかを推測するのは困難ですが、/var/www/dropbox....

于 2012-07-09T09:16:55.383 に答える
0

file_exists()ファイルがローカルファイルシステムに存在するかどうかを確認します。URL を渡しています。ドロップボックス ディレクトリへのローカル パスに変更すると、動作するはずです。

if(file_exists('/path/to/your/dropbox'))
于 2012-07-09T09:17:19.373 に答える
0

この関数は、PHPfile_existsの関数でサポートされている URL プロトコルに対してのみ機能します。stat()

現在、このhttpプロトコルはこのラッパーではサポートされていません。

http://uk3.php.net/manual/en/wrappers.http.php

于 2012-07-09T09:18:25.177 に答える