文件正在删除吗?

时间:2013-04-25 07:48:28

标签: php

我正在尝试创建一个自毁文件。我的意思是,如果条件等于true,则文件将自行删除。

对我来说,以下代码应该可以解决问题。但是,它什么也没做。我做错了什么?

<?php 
    phpinfo();
    // The following should be activated when the url is 
    // selfdestruct.php?delete=1, correct?
    if ($_GET['delete']==1) {
        $file = 'selfdestruct.php';
        unlink($file);
    }
?>

提前感谢你的肝脏!我很感激! : - )

3 个答案:

答案 0 :(得分:0)

您检查过您的网络服务器和php日志文件吗?可能是权限问题,或者Web服务器保持文件处于打开状态,因此无法删除。

此外,尝试将整个本地路径传递给取消链接。您可以使用取消关联( _FILE_

另外,这是在Windows还是Linux上?它们处理“打开”文件有点不同。我在Linux上测试了它,它可以正常使用

 unlink(__FILE__);

有关操作系统和正在运行的Web服务器等的信息可能很适合添加到这种性质的问题中。

答案 1 :(得分:0)

检查以下步骤:

  1. error_reporting(E_ALL);放在第一行
  2. 检查您的权限
  3. 在“error_reporting”
  4. 之后,将删除代码放在上面

    您应该执行以下操作:

    if (isset($_GET['delete']) && $_GET['delete'] == '1') {
        unlink(FILE);
    }
    

答案 2 :(得分:0)

我通常这样做:(使用你的GET)

if ($_GET['delete']==1) {
    unlink( __FILE__ ) or die("Please delete this file.");
    echo "This file has been deleted.<br />";
}

如果无法删除文件,则退出脚本,不会显示最后一个回显。

此外,您的代码应该可以运行,您可以执行快速测试以检查是否满足条件,但只是无法删除文件:

if ($_GET['delete']==1) {
    echo "Works!";
}