2015-03-31 69 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