簡體   English   中英

函數file_exists在php中不起作用

[英]function file_exists not working in php

我一直在嘗試查找目錄中是否存在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]; ?>" />

這樣可以正確顯示圖像。

請有人幫我

file_exists使用文件系統路徑 ,而不是URL。 您可以在瀏覽器中使用URL來通過網絡上的Web瀏覽器和Web服務器訪問PHP腳本。 盡管PHP腳本本身可以訪問本地文件系統並使用它,但它不會通過網絡堆棧來訪問文件。

因此,請使用諸如file_exists('C:\\\\foo\\\\bar\\\\dropbox\\\\lib\\\\admin\\\\' ...)

file_exists不支持使用HTTP的地址(您可以看到此信息,因為stat不包括在HTTP支持的包裝器列表中 )。 file_exists文檔所述,可以使用某些包裝程序(例如FTP)檢查遠程文件,但是無法通過HTTP進行檢查,因此file_exists將始終返回false。

假設此文件位於本地計算機上(這是localhost建議的,則需要使用本地文件路徑進行訪問。很難猜測這可能對您有什么用,但看起來像/var/www/dropbox...

file_exists()檢查本地文件系統中是否存在文件。 您正在傳遞一個URL。 將其更改為您的保管箱目錄的本地路徑,它應該可以工作:

if(file_exists('/path/to/your/dropbox'))

函數file_exists僅可用於PHP中stat()函數支持的URL協議。

當前,此包裝器不支持http協議。

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

您正在將URL傳遞給file_exists函數,這是錯誤的參數。 而不是通過您的本地路徑。

要了解有關file_exist()函數的更多信息,請閱讀此php手冊:

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

您正在將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];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM