我正在尝试创建一个自毁文件。我的意思是,如果条件等于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);
}
?>
提前感谢你的肝脏!我很感激! : - )
答案 0 :(得分:0)
您检查过您的网络服务器和php日志文件吗?可能是权限问题,或者Web服务器保持文件处于打开状态,因此无法删除。
此外,尝试将整个本地路径传递给取消链接。您可以使用取消关联( _FILE_ )
另外,这是在Windows还是Linux上?它们处理“打开”文件有点不同。我在Linux上测试了它,它可以正常使用
unlink(__FILE__);
有关操作系统和正在运行的Web服务器等的信息可能很适合添加到这种性质的问题中。
答案 1 :(得分:0)
检查以下步骤:
error_reporting(E_ALL);
放在第一行您应该执行以下操作:
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!";
}