问题是,删除操作仅从数据库中执行,而不是从服务器文件夹中执行。我的代码有错误吗?
这是deleteimg.php
<?php
include('dbh.inc.php');
if (isset($_POST['submit4'])) {
//DELETE FILE
$del_img=$_GET['name'];
$queryy = "DELETE FROM table1 WHERE name='$del_img'";
$result = mysqli_query($conn, $queryy);
if ($result) {
?> <script> alert('This image has been deleted.'); window.location ="/pages/pictures.php"; </script>
<?php
unlink("/pages/uploads/$del_img");
} else {
?>
<script> alert('This image not yet deleted.'); window.location ="/pages/pictures.php"; </script>
<?php
}
}
?>
2条答案
按热度按时间yqyhoc1h1#
在执行php unlink命令之前,您正在执行javascript window.location。只需重新组织代码,使其看起来像这样:
kq0g1dla2#
更新
最终的答案是改变
unlink("/pages/uploads/$del_img");
进入unlink("pages/uploads/$del_img");
因为绝对路径是错误的。如果我最初的答案真的被阅读和遵循,那么这场崩溃是可以避免的。
根据文件
unlink()
:删除文件名。类似于unix c unlink()函数。失败时将生成e\ U警告级别错误。
所以呢
unlink("/pages/uploads/$del_img");
可能产生了一个错误,但是javascript重定向发生在您有机会在浏览器中看到错误之前。您需要检查php日志中的错误,或者在调试代码时暂时停止重定向。
此外,请确保已设置
error_reporting( E_ALL );
.