PHP取消链接删除文件,但文件仍然存在

PHP取消链接删除文件,但文件仍然存在,php,caching,unlink,Php,Caching,Unlink,我有一个非常简单的函数: unlink($oldPicture); if (is_readable($oldPicture)) { echo 'The file is readable'; } else { echo 'The file is not readable'; } } 文件在执行后显示为不可读,并从文件目录中消失。但是,尽管没有缓存,但从浏览器访问时仍然可用(在不同的浏览器上打开文件进行测试)。这里有我遗漏的东西吗?服务器是否正在缓存该文件?这是我能想到的唯一解释

我有一个非常简单的函数:

unlink($oldPicture);

if (is_readable($oldPicture)) {
    echo 'The file is readable';
} else {
    echo 'The file is not readable';
}
}
文件在执行后显示为不可读,并从文件目录中消失。但是,尽管没有缓存,但从浏览器访问时仍然可用(在不同的浏览器上打开文件进行测试)。这里有我遗漏的东西吗?服务器是否正在缓存该文件?这是我能想到的唯一解释

试试以下方法:

if (is_file($oldPicture)) {

   chmod($oldPicture, 0777);

   if (unlink($oldPicture)) {
      echo 'File deleted';
   } else {
      echo 'Can\'t remove file';
   }

  } else {
    echo 'File does not exist';
  }
确保您有$oldPicture的完整路径

例如:

$oldPicture = dirname(__FILE__) . '/oldpicture.png';

考虑-问题可能略有不同-你已经检查了文件上的权限吗?可能是Rostyslav给出的答案的复制品(即“…但是文件在任何浏览器中仍然可用,就像它被缓存一样”),可能需要缓存文件的限制,很可能是在web服务器上……我确实尝试过,而且效果也一样。我认为取消链接功能工作正常,因为该文件不再位于目录中,但该文件在任何浏览器中仍然可用,就好像它被缓存一样。对该文件的权限与取消链接无关,而对目录的权限控制着它。