我正在尝试使用取消链接删除已删除评论中的图片,但它根本无法正常工作。数据库中的注释被删除但实际图片没有删除。我究竟做错了什么?文件夹权限为755,图像权限为644。
if (loggedin()) {
$dblink = mysqli_connect($DBhostname, $DBusername, $DBpassword, $DBname);
if (!$dblink) {die("Connection error (".mysqli_connect_errno.") " . mysqli_connect_error());}
$commentid = mysqli_real_escape_string($dblink, $_GET['c']);
$qry = "SELECT * FROM comments WHERE id='$commentid' LIMIT 1";
$result = mysqli_query($dblink, $qry) or die(mysqli_error($dblink));
if (mysqli_num_rows($result) > 0) {
$row = mysqli_fetch_assoc($result);
$commenter = $row["commenter"];
$thereisimg = $row["thereisimg"];
$imgtype = $row["imgtype"];
// if logged in email = email of commenter
if ($_SESSION["logged-in"] == $commenter) {
// delete comment
$qry = "DELETE FROM comments WHERE id=$commentid";
$result = mysqli_query($dblink, $qry) or die(mysqli_error($dblink));
// if image, delete image
if ($thereisimg) {
// delete image
$imglink = "/imgs/commentpics/".$commentid.".".$imgtype;
echo $imglink;
unlink($imglink);
}
}
}
}
答案 0 :(得分:1)
要进行诊断,请尝试以下方法之一:
这是(1)的文件:http://www.w3schools.com/php/php_error.asp。
做2:
strace -e unlink php myScript.php
假设脚本可以直接从命令行运行。
设置错误处理程序
<?php
function my_error_handler($error_level,$error_message,
$error_file,$error_line,$error_context)
{
echo $error_message;
}
set_error_handler("my_error_handler");