unlink()函数不会删除文件

时间:2017-11-03 13:16:07

标签: php html

这个帖子已多次讨论,但它没有解决我的错误...... 当我尝试使用unlink($ path)函数时,它只是给我一个错误,但是我有权删除它,文件和路径是正确的,我似乎没有发现错误。

这是我的代码(deleteuser.php):

  <?php
$path = "/thnk.php";
if (!unlink($path)) {
  echo "Error!"; 
} else {
  header("Location: index.php?deletesucces!");
}
?>

和HTML:

<html>
<body>
<form action="/step/deleteuser.php" method="POST">

<button name="submit" type="submit">Delete tha user</button>

</form>

</html>
</body>

P.S我是PHP的新手,尽可能地解释它对新手来说是可以理解的!谢谢!

2 个答案:

答案 0 :(得分:0)

首先查看file available in folder or not

<?php
$filename = 'you file path';

if (file_exists($filename)) {
    echo "The file $filename exists";
    unlink($filename);
    header("Location: index.php?deletesucces!");
} else {
    echo "The file $filename does not exist";
}
?>

答案 1 :(得分:-1)

您已经给出了绝对路径,我非常怀疑您是否将文件放在.as-console-wrapper { max-height: 100%!important; top: 0; }中,而不是文档根目录。

示例

您的网络服务器的文档根目录和您的php文件位于:

/thnk.php

当你写/var/www/public_html/ 时,它会在这里看:

unlink('/thnk.php');

但是你希望它从这里删除文件:

/thnk.php

这是一个不同的“根”。所以你必须写

/var/www/public_html/thnk.php

或者使用像

这样的相对路径
unlink($_SERVER['DOCUMENT_ROOT'] . '/thnk.php');

如果你不知道错误但有些东西不起作用,那么简单地启用错误报告总是有帮助的:

unlink('../thnk.php'); // which can be unsafe in some situations