2015-03-31 68 views
0

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

我努力了几个小时图了这一点。但我仍然没有任何运气。 希望有人可以帮我解决这个问题。 谢谢。

+0

这是什么'的var_dump(file_exists($的ImagePath))'说明了什么? – Barmar 2015-03-31 07:28:10

+1

顺便说一下,你应该首先执行'is_dir()'测试,因为如果文件或目录是'file_exists',它将是true。 – Barmar 2015-03-31 07:28:36

+0

可能是一个权限问题 – WhiteLine 2015-03-31 07:29:22

回答

1

您尝试从您的DOCUMENT_ROOT路径给出define('UPLOAD_DIR', "images/slider/");
例如:

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

+0

我试过了。但它不起作用。仍然'var-dump'是'false' – user3733831 2015-03-31 07:40:38