[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Удаление изображений с папки
Серега187
Всем привет. Пробую сделать галерею для сайта, ну почти сделал: картинки добавляются, удаляются из БД через админку, все нормально работает. Но нужно, еще, чтобы удаляемая картинка удалялась и из 2-х папок куда они загружаются. В первой папке содержатся миниатюры, а во второй целые изображения. Насколько я понимаю нужно применить функцию unlink($filename); Помогите доделать код.
Код в контроллере:
case('del_img_gall'):
$img_gall_id = (int)$_GET['id'];
del_img_gall($img_gall_id);
redirect();
break;

Код в модели:
function del_img_gall($img_gall_id){
q("DELETE FROM `images`
WHERE `id` =
$img_gall_id
");
global $link;
if(mysqli_affected_rows($link) > 0){
$_SESSION['answer'] = "<div class='success'>Изображение удалено!</div>";
}else{
$_SESSION['answer'] = "<div class='error'>Ошибка удаления изображения!</div>";
}
}

Путь к папке с миниатюрами: userfiles/gall_img/thumbs
Путь к папке с целыми изображениями: userfiles/gall_img/photos
Valick
Серега187, пути к изображениям у вас должны быть в БД, перед удалением записи в модели делайте выборку этих путей и удаляйте сами файлы.


_____________
Стимулятор ~yoomoney - 41001303250491
Серега187
Порылся в инете и как удалить изображение с папки и с БД за один запрос так и не нашел. А своих знаний не хватает. Сильно критично, если фотографии с БД будут удаляться, а в папках они останутся?
Valick
Цитата
Сильно критично, если фотографии с БД будут удаляться, а в папках они останутся?

да
Цитата
как удалить изображение с папки и с БД за один запрос так и не нашел

работа с файловой системой и работа с БД это разные вещи, какой такой один запрос вы искали???
я вам написал что надо сделать выборку путей из БД, удалить изображения из папки по выбранным путям и только после этого удалить запись из БД, что сложного то?

_____________
Стимулятор ~yoomoney - 41001303250491
Серега187
Не знаю, правильно сделал или нет, но такой вариант тоже работает...
function del_img_gall($img_gall_id){

$res = q("SELECT `img`
FROM `images`
WHERE `id` =
$img_gall_id LIMIT 1
"
);
$res = mysqli_fetch_array($res);
if ($res['img'] != 0){
$foto = $res['img'];
if (is_file("../userfiles/gall_img/thumbs/$foto")) unlink ("../userfiles/gall_img/thumbs/$foto");
if (is_file("../userfiles/gall_img/photos/$foto")) unlink ("../userfiles/gall_img/photos/$foto");
}

q("DELETE FROM `images`
WHERE `id` =
$img_gall_id
");

global $link;
if(mysqli_affected_rows($link) > 0){
$_SESSION['answer'] = "<div class='success'>Изображение удалено!</div>";
}else{
$_SESSION['answer'] = "<div class='error'>Ошибка удаления изображения!</div>";
}
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.