Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 25.02.2015
Сообщений: 9

Удаление изображения из директории вместе с записью из бд mysql

13.02.2017, 19:59. Показов 3053. Ответов 5

Студворк — интернет-сервис помощи студентам
есть таблица с столбцами id, title, image. в столбце image названия картинок (jyyk.jpg например). нужно чтобы при удалении записи из бд удалялась картинка из директории с именем которое записано в столбце image.
Удалить записи из бд я смог, но вот с удалением картинок из директории проблема.
PHP
1
2
3
4
5
6
7
8
if (isset($_GET["id"]))
{
    $id = mysql_real_escape_string($_GET['id']);
   
           $result = mysql_query("DELETE FROM products WHERE id = '$id'",$link);  
            mysql_close($link);
            header('Location: tovar.php');
    }
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.02.2017, 19:59
Ответы с готовыми решениями:

Удаление часть изображения и холста вместе с ним. ("Схлопывание")
Ребят, не знаю как обьяснить лучше, никто пока не мог меня понять. маил.ответы и stack overflow не помогли. Нужно автоматизировать...

как создать файл в несуществующей директории(вместе с этой директорией естественно)?
здрасти! предположим есть путь для сохранения файла в edit1, но нет самого файла и папки 111 ...

Что использовать для копирования директории вместе со вложенными директориями и файлами?
подскажите что нужно использовать для копирования папки(разумеется всех поддиректорий и файлов в них)?

5
 Аватар для PantiL
26 / 26 / 10
Регистрация: 10.03.2016
Сообщений: 73
13.02.2017, 20:31
Прочитайте про функцию unlink

И да, mysql_query начиная с версии 5.5 считается устаревшей и в 7-й версии удалена вовсе. На будущее переходите на MySQLi или PDO
1
0 / 0 / 0
Регистрация: 25.02.2015
Сообщений: 9
13.02.2017, 20:42  [ТС]
PantiL, про него я прочитал уже, я не могу нормально код написать
0
 Аватар для PantiL
26 / 26 / 10
Регистрация: 10.03.2016
Сообщений: 73
13.02.2017, 20:54
Я код за вас писать не буду. Дам совет просто.
1.Сначала получите запись о картинке из БД с id который вы получили в GET - подсказка - SQL запрос начинается на слово SELECT
2.Удалите запись из БД - SQL запрос начинается на слово DELETE , как у вас уже и сделано
3.В первом пункте мы узнали имя файла, удалите его функцией unlink
1
0 / 0 / 0
Регистрация: 25.02.2015
Сообщений: 9
13.02.2017, 21:53  [ТС]
PantiL, так ?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
if (isset($_GET["id"]))
{
    $id = mysql_real_escape_string($_GET['id']);
    $image = mysql_real_escape_string($_GET['image']);
    
            $result = mysql_query("SELECT * FROM products WHERE image = '$image'",$link);
            $row = mysql_fetch_array($result);
            $result = mysql_query("DELETE FROM products WHERE id = '$id'",$link);
            $dir='../images/products/';
            unlink($dir.$image);
            mysql_close($link);
            header('Location: tovar.php');
    }
HTML5
1
<a href="tovar.php?id='.$row["id"].'&image='.$row["image"].'" class="delete">Удалить</a>
0
142 / 142 / 63
Регистрация: 18.07.2014
Сообщений: 473
13.02.2017, 22:52
Лучший ответ Сообщение было отмечено RokRise как решение

Решение

Цитата Сообщение от RokRise Посмотреть сообщение
так ?
нет, вот так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (isset($_GET["id"]))
{
    $id = mysql_real_escape_string($_GET['id']);
    
            // получаем имя картинки
            $result = mysql_query("SELECT image FROM products WHERE id = '$id'",$link);
            $row = mysql_fetch_array($result);
            $dir='../images/products/';
            
            // удаляем файл
            unlink($dir.$row[0]);
 
            // удаляем запись из базы
            $result = mysql_query("DELETE FROM products WHERE id = '$id'",$link);
            mysql_close($link);
            header('Location: tovar.php');
    }
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.02.2017, 22:52
Помогаю со студенческими работами здесь

Связь изображения с записью в БД
Доброго времени суток! У меня возникла следующая загвоздка: У меня есть приложение WinForms что-то типа записной книжки. Храню в ней...

Пр0блема с записью (mysql)
В чем тут ошибка? $mail ='TEST@TEST'; $name ='test'; $pass ='qwerty'; $result = mysql_query('INSERT INTO users...

Как удалять зависимые записи из другой таблицы вместе с главной записью в главной таблице средствами Linq to Entities
Как удалить дочерние записи перед удалением главной записи Как главную запись удаляю так : ...

Вывод произвольного изображения из директории
Здравствуйте, как можно организовать вывод изображения на экран? Т.е. пользователь сам, ручками, выбирает картинку .bmp формата из...

Struts, MySQL проблема с записью русских букв.
Доброго дне Всем! Проблема вот такая, не могу записать в базу русские букы, записываются кроказябры. Читать русские буквы могу без...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru