我创建了一个脚本,允许从其上传的文件夹和数据库中删除图像。该脚本通过AJAX
处理请求。我的问题是,图像正在从数据库中删除,但不在文件夹中。
这是我从文件夹中删除图像的编码 -
if ($numrows == 1) {
$stmt->bind_result($image_id, $member_id, $image);
// define constant for upload folder
define('UPLOAD_DIR', "images/slider/");
while ($stmt->fetch()) {
//echo UPLOAD_DIR."$member_id/$image";
$imagePath = UPLOAD_DIR."$member_id/$image";
echo $imagePath;
if(file_exists($imagePath)) {
unlink($imagePath);
} elseif(is_dir($image)) {
rmdir($image);
}
}
// Make the delete query:
$q = 'DELETE FROM image_info WHERE image_id= ? LIMIT 1';
$stmt = $mysqli->prepare($q);
$stmt->bind_param('i', $imageId);
$stmt->execute();
if ($stmt->affected_rows == 1) {
echo $successAlert;
}
$stmt->close();
unset($stmt);
}
当我回显 $imagePath
时,我发现路径是正确的 - images/slider/18/18_user_banner_1.jpg
我花了好几个小时努力想解决这个问题。但我仍然没有任何运气。 希望有人可以帮助我解决这个问题。 谢谢。
最佳答案
您尝试从 DOCUMENT_ROOT 路径插入 define('UPLOAD_DIR', "images/slider/");
。
例如:
define('UPLOAD_DIR', $_SERVER['DOCUMENT_ROOT']."/images/slider/");
关于PHP 从 ajax 请求中取消链接图像不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29362933/