解决方案 »

  1.   

    他不是说的很清楚了吗?
    No such file or directory  没有这样的文件或目录
      

  2.   

    先判断一下文件是否存在 再删除
    警告都提示说 文件或目录不存在了if(file_exists($fn)){
      unlink($fn);
    }
      

  3.   

    你看下你的user_logo/目录看这个目录下是否存在这个文件
    没有就不删除 有则删除 加一个判断
    if(file_exists($fn)){//存在该文件
    //todo 删除
    }
      

  4.   

    各位unlink(user_logo/d4d84f383714d5f3.jpg)
    提示是这样的,所以文件夹是文件名都有的。
    这个删除的文件与图片文件夹是同一目录 a.php user_logo
    加判断我也试了不行,但是文件与文件夹都是存在的。
      

  5.   

    为了证实这一点,请
    ptint_r(glob('user_logo/*'));
    贴出结果
      

  6.   

    Call to undefined function ptint_r()错误
      

  7.   

    我用别的读取了
    0=>326601fbd562175b.jpg
    1=>33020b4dfad41335.gif
    2=>4d2514d09a181e1b.jpg
    3=>c3f7050e4de83d13.gif
    4=>d436ccf10d8c8141.gif
    5=>d4d84f383714d5f3.jpg
    ?>
      

  8.   

    文件是肯定有的
    0=>./user_logo/326601fbd562175b.jpg
    1=>./user_logo/33020b4dfad41335.gif
    2=>./user_logo/4d2514d09a181e1b.jpg
    3=>./user_logo/c3f7050e4de83d13.gif
    4=>./user_logo/d436ccf10d8c8141.gif
    5=>./user_logo/d4d84f383714d5f3.jpg
      

  9.   

    机器是不会骗你的,他说没有,那就是没有
    var_dump($fn == 'user_logo/d4d84f383714d5f3.jpg');
    贴出结果
      

  10.   

    bool(false)
    这样假,没有但是确实有
    unlink(user_logo1d8daa1bc872d00f.gif) 
      

  11.   

    是这样,用户可以上传一张图片,如果修改重新上传就把旧的删除,旧的文件名在数据库
    $dlogo="select User_info_logo from site_user_info where User_info_id=".$_SESSION["userid"];
    $drow=mysql_query($dlogo);
    $rs=mysql_fetch_array($drow);
    $logomc=$rs['User_info_logo'];
    if($logomc){
    $base_dir="user_logo".$logomc;
    unlink ($base_dir); 
      

  12.   

    $base_dir="user_logo".$logomc;
    unlink ($base_dir); $base_dir="user_logo/".$logomc;
    一般不大可能这样存储文件名 /filename
    何况文件还是在子目录中
      

  13.   

    后面的是文件名,前面的是文件夹。刚少了/但都一样的结果
    Warning: unlink(user_logo/d4d84f383714d5f3.jpg) [function.unlink]: No such file or directory in
    目录文件都有,程序认为没有
      

  14.   

    在unlink php里面加这句,看看有什么输出。
    echo dirname(__FILE__).'user_logo/d4d84f383714d5f3.jpg';
      

  15.   

    懒得看上面的了
    原帖中:
    unlink('abcdef.jpg'); 可以
    fn=$rs['abc']; unlink($fn); 不行
    你就把后面这个fn输出来 和'abcdef.jpg'比较一下
    把前面那个字符串操作成后面那个不就行了...不要觉得用了变量就会有影响 用不用变量都一样
    只要内容可以就可以...
      

  16.   

    用绝对路径,提示没有该文件和文件夹 就证明你路径错了。看看PHP文件和图片的相对位置
      

  17.   

    既然你用 file_exists 判断已经存在了,  又提示你文件不存在  那就检查你又没有删除权限吧.   有时候就是权限的事儿
      

  18.   

    這幾天我也碰到這個問題,其實文件是存在的,只是文件被其他線程給鎖定了沒有釋放出來,因此此時強制刪除提示錯誤
    就跟windows似的,有檔案正在使用的時候你如果要強行刪除這個文件肯定提示錯誤.問題我找到了,但是解決方法暫時沒有,希望高手指點
      

  19.   

    一路看下来,有个这样的“./abc/”
    0=>./user_logo/326601fbd562175b.jpg
    1=>./user_logo/33020b4dfad41335.gif
    2=>./user_logo/4d2514d09a181e1b.jpg
    3=>./user_logo/c3f7050e4de83d13.gif
    4=>./user_logo/d436ccf10d8c8141.gif
    5=>./user_logo/d4d84f383714d5f3.jpg 
    这就说明机器是在原来的地址加上了“./”  其实我也是来找答案的,数据库中存的是/abc/123.jpg  
    unlink("/abc/123.jpg"); 是错的,unlink("./abc/123.jpg");  就对了,我不明白为什么
      

  20.   

    我也是遇到了问题进了贴,最后发现其实是unlink($path);中$path的编码要注意,必须是utf-8格式。