file_exists检查不出来已经存在的文件
php中读取的文件名为ND_data/20110627/9_2011062F3435E1a.jpg
在电脑中的地址为C:\xampp\htdocs\uchome\ND_data\20110627\9_2011062F3435E1a.jpg
不知道什么原因,检查不到
有人告诉下么? 

解决方案 »

  1.   

    执行 file_exists 的程序在哪里?
      

  2.   


    if(file_exists('/ND_data/20110627/9_2011062F3435E1a.jpg')){
            echo 'exist';
    }else{ 
            echo 'no exist'; 
    }你的代码是如何写的?
      

  3.   

    显然是路径错误,,,/   要么用包括盘符的绝对路径检测,要么用相对当前文件的路径
    /uchome/ND_data/20110627/……可能就对了,如果对,建议换成'./ND_data/20110627/……'的路径
      

  4.   

    $filename=$list[$n];
    //$list[$n]的值为ND_data/20110627/9_2011062F3435E1a.jpg,为/ND_data/20110627/9_2011062F3435E1a.jpg还是不行
    if(file_exists($filename))
    {

    }else
    {
    //文件不存在
    }
      

  5.   

    你这样写
    /xampp/htdocs/uchome/ND_data/20110627/……这回该可以了吧?
    路径还是用带盘符的绝对路径较好,很多php系统都会定义一个ROOTPATH的常量你的问题有可能是php文件是被引用的,并非相对于file_exists所在文件的路径来定位检测目标文件
      

  6.   

    楼上这位,你应该看出来这个是uchome的网盘插件了吧。。
    可能就是因为你说的最后这种情况,有解决方法不?
      

  7.   

    echo __FILE__;
    查看一下当前路径。
      

  8.   

    C:\xampp\htdocs\uchome\ND_upload\source\down.php
    当前路径是这样的
    文件是在
    C:\xampp\htdocs\uchome\ND_data\20110627\9_2011062F3435E1a.jpg
      

  9.   

    我试过这样判断
    echo __FILE__得到的路径为C:\xampp\htdocs\uchome\ND_upload\source\down.php
    然后,我把$filename的值替换为C:\xampp\htdocs\uchome\ND_data\20110627\9_2011062F3435E1a.jpg
    结果file_exists($filename)返回的还是
    有人弄过uchome网盘插件吗,知道是怎么回事么,我是安装在本地电脑上测试的
      

  10.   

    $filename=$list[$n]; //得到 ND_data/20110627/9_2011062F3435E1a.jpg__FILE__ 得到 C:\xampp\htdocs\uchome\ND_upload\source\down.php所以传给 file_exists 的参数应为: '../../' . $filename
      

  11.   

    还是不行,是不是因为我安装在本地的原因?
    http://localhost/uchome/ND_upload.php