我一直试图找到目录中的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]; ?>" />
这样可以正确显示图像。
请有人帮助我
答案 0 :(得分:2)
file_exists
使用文件系统路径,而不是网址。您可以在浏览器中使用URL通过网络上的Web浏览器和Web服务器访问PHP脚本。 PHP脚本本身可以访问本地文件系统并使用它,它不会通过网络堆栈来访问文件。
所以请使用类似file_exists('C:\\foo\\bar\\dropbox\\lib\\admin\\' ...)
的内容。
答案 1 :(得分:0)
file_exists
不支持使用HTTP的地址(您可以看到这一点,因为the list of wrappers supported over HTTP上未包含stat
)。正如file_exists
文档所述,可以使用某些包装器(例如FTP)检查远程文件,但不能通过HTTP检查远程文件,因此file_exists
将始终返回false。
假设此文件位于本地计算机上(由localhost
建议),您需要使用本地文件路径访问它。很难猜测这可能是什么,但它可能看起来像/var/www/dropbox...
。
答案 2 :(得分:0)
file_exists()
检查本地文件系统中是否存在文件。你正在传递一个URL。将其更改为您的Dropbox目录的本地路径,它应该工作:
if(file_exists('/path/to/your/dropbox'))
答案 3 :(得分:0)
函数file_exists
只适用于PHP中stat()
函数支持的URL协议。
目前,此包装器不支持http
协议。
答案 4 :(得分:0)
您正在将URL传递给file_exists函数,这是一个错误的参数。而不是通过那里的本地路径。
要了解有关file_exist()函数的更多信息,请阅读此php手册:
答案 5 :(得分: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];
}