모든 이미지가 포함 된 앨범을 삭제하려고합니다. 저장된 앨범 및 이미지의 경로는 ../_uploads/ < 앨범 이름/< image_file>입니다.이미지가있는 앨범 폴더 삭제
이if(isset($_GET['album_id']) === true){
$album_id = (int)$_GET['album_id'];
$query_album_info = "SELECT `albums`.`album_id`, `albums`.`album_name`, `images`.`image_name`, `images`.`image_ext`
FROM `albums`
LEFT JOIN `images` ON `albums`.`album_id` = `images`.`album_id`
WHERE `albums`.`album_id` = {$album_id}
LIMIT 1 ";
$album_info = mysql_query($query_album_info, $connection) or die(mysql_error());
$row_album = mysql_fetch_assoc($album_info);
$album = $row_album['album_name'];
$img_file = $row_album['image_name'] . '.' . $row_album['image_ext'];
$images = scandir("../_uploads/{$album}/");
unset($images[0]);
unset($images[1]);
//echo "<pre>",print_r($images,true),"</pre>";
foreach($images as $image){
unlink("../_uploads/{$album}/{$image_file}");
}
if(rmdir("../_uploads/{$album}") === true){
//delete all images of album from database
$query_delete_images = "DELETE FROM `images` WHERE `album_id` = {$album_id}";
$delete_images = mysql_query($query_delete_images) or die(mysql_error());
if(mysql_affected_rows() == 1){
}else{
redirect_to("albums.php?del_imgs=1");
}
//delete album from database
$query_delete_album= "DELETE FROM `albums` WHERE `album_id` = {$album_id}";
$delete_album= mysql_query($query_delete_album) or die(mysql_error());
if(mysql_affected_rows() == 1){
redirect_to("albums.php?delete_album=1");
}else{
redirect_to("albums.php?delete_error_album=1");
}
}else{
redirect_to("albums.php?rmdir_error=1");
}
}else{
redirect_to("albums.php");
}
나는 albums.php로 리디렉션에서 얻을 오류 메시지가 [I] rmdir_error = 1/난, 그래서 이미지가 데이터베이스에서 삭제되지 않습니다이다 : 여기 내 delete_album.php의 코드는 그리고 폴더와 앨범도 마찬가지이므로 rmdir 함수가 작동하지 않아 이미지가 여전히 존재합니다. 어떤 아이디어가 잘못되었을 수 있습니까?
삭제 하시겠습니까? 폴더에 대한 모든 R/W 권한을 보유하고 있습니까? – Clue