来自ajax请求的PHP unlink图像不起作用

时间:2015-03-31 07:25:18

标签: php jquery mysql ajax

我创建了一个脚本,允许从上传的文件夹和数据库中删除图像。此脚本通过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

我正在努力工作几个小时来解决这个问题。但我仍然没有运气。 希望有人可以帮我解决这个问题。 谢谢。

1 个答案:

答案 0 :(得分:1)

您尝试从DOCUMENT_ROOT路径中取代define('UPLOAD_DIR', "images/slider/");
例如:

define('UPLOAD_DIR', $_SERVER['DOCUMENT_ROOT']."/images/slider/");