php中的unlink()问题!

时间:2010-04-16 06:15:57

标签: php file

我正在创建一个总是在特定文件夹下命名为1.png的临时图像,一旦我读取了image_contents和进程,我就使用unlink()从该文件夹中删除该特定图像。

但有时不会删除图像文件,而是会读取和处理同一图像文件。

该脚本工作正常......

没有与权限相关的问题,因为有时会删除文件......

重复调用脚本时会出现任何问题,并且名称中的图像已经存在且未删除等。???

请建议我会出现什么问题

      extension_loaded('ffmpeg');
      $max_width  = 120;
      $max_height = 72;
        $path ="/home/fff99/public_html/temp/";
            .....
            .....
        $nname = "/home/friend99/public_html/temp/".$imgname;
        $fileo = fopen($nname,"rb");
        if($fileo)
        {
            $imgData = addslashes(file_get_contents($nname));
                    ....
                    ...
                    ..
        }
        unlink('$nname');

2 个答案:

答案 0 :(得分:1)

您应该检查unlink的返回值,看它是否返回false。最有可能的问题是打开文件句柄,防止完成取消链接;你的fopen应该有一个相应的fclose:

fclose($fileo);
if(!unlink($nname))
    echo "AAAAH!";

答案 1 :(得分:1)

我在使用@unlink时遇到了类似的问题,它会选择何时删除,所以我切换到了这个;

if (file_exists($filename)) {
unlink($filename);
}

由于某些原因对我有用,希望它有所帮助。