首页  >  问答  >  正文

关于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 天前725

全部回复(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
  • 取消回复