$filename = '/img/img1.gif';if (file_exists($filename)==true) 
{
    print "文件 $filename 存在";

else 
{
    print "文件 file $filename 不存在";
}以上是判断代码为:a.php大家看下
第一种情况:
a.php 在网站根目录 $filename = 'img/img1.gif'; 运行结果:存在
第二种情况
a.php 在 \img\tree 目录(也就是那图片所在目录下的一个three目录) $filename = 'img/img1.gif'; 运行结果:不存在
$filename = '/img/img1.gif'; 运行结果:不存在
$filename = './img/img1.gif'; 运行结果:不存在
$filename = '../img/img1.gif'; 运行结果:不存在这样情况都没办法执行判断 很悲剧啊  不知道什么问题 困扰我几天了一直解决 网上搜索了很多资料都没解决 这里我不希望使用 这样的办法:$_SERVER["DOCUMENT_ROOT"]. '/img/img1.gif'
这样就绝对路径了 我想使用相对路径解决 
求助大家 我哪里弄错了。。 

解决方案 »

  1.   

    \img\tree\a.php那就应该是../../img/img1.gif    难道我晕了 ?
      

  2.   

    你上面的是可以但是 这个 在外部的其它目录就是不行啊$filename = '/duojiMun/three_folders/four/back.gif';
      

  3.   

    $filename   =   '/img/img1.gif ';   运行结果:不存在这个怎么可能呢?...
    不管你的a.php的位置 /img/img1.gif始终是绝对路径(即根目录下的img目录下的文件)。
    所以这个的运行结果应该是存在。否则就是你文件名写错或者目录写错了
      

  4.   

    不行的 哥们 你自己测试下吧 查找其它目录页不行 比如 $filename = '/duojiMun/three_folders/four/back.gif'; 运行结果:不存在
      

  5.   

    我的问题中已经明确了 不能使用绝对路径啦
    如果是 linux下面 很麻烦啊  哥们我需要的是相对路径  
      

  6.   

    相对路径是相对文件所在目录的。那么当a.php在\img\tree目录下
    那么../就表示在img目录了,../表示上一级目录。因此 
    $filename   =   '../img1.gif ';
      

  7.   

    补充一下"./"表示相对当前目录,"../"表示当前目录的上一级目录。
    “/×××/×××/×××”在Linux/unix表示绝对路径,这个与win不同。