首頁  >  問答  >  主體

關於PHP的file_exists函數

今天用這個函數判斷圖片是否存在,遇到了一個問題。

if(file_exists("/ueditor/php/upload/image/20170621/1498038174913865.jpg")){

    echo 1;

}else{

    echo 0;

}

//输出0
<img src ="/ueditor/php/upload/image/20170621/1498038174913865.jpg" />

然而在同一個頁面中用img標籤卻能正確顯示圖片。這是為什麼?

过去多啦不再A梦过去多啦不再A梦2675 天前722

全部回覆(5)我來回復

  • 欧阳克

    欧阳克2017-06-23 09:13:41

    file_exists判斷的/開頭的位址是linux檔案的絕對路徑,img標籤/開頭的是相對你的url的路徑,兩個路徑肯定是不一樣的!
    html及linux基礎不過關

    回覆
    0
  • PHP中文网

    PHP中文网2017-06-23 09:13:41

    樓上正解~

    回覆
    0
  • ringa_lee

    ringa_lee2017-06-23 09:13:41

    結合樓上,另外如果想解決你的問題。

    file_exists中的參數應該是絕對位址,可以嘗試使用__DIR__常數。
    如果是框架的話,一般會有對應的常數使用,這樣子去定義判斷會相對可控。

    回覆
    0
  • 欧阳克

    欧阳克2017-06-23 09:13:41

    樓上正解,起碼要取得站點根目錄這拼接起來。

    回覆
    0
  • PHP中文网

    PHP中文网2017-06-23 09:13:41

    基礎不過關. 一個是檔案系統路徑, 一個是URL路徑. 兩者沒關係. 一點關係都沒有.
    看著像, 只是巧合.

    回覆
    0
  • 取消回覆