Удалить вложения " с Выбранными"
-
- Инвестор
- Сообщения: 481
- Зарегистрирован: 09 янв 2020, 11:49
- Имя: Владимир
- Откуда: Тверь
- Организация: ООО "ВебСофт"
Удалить вложения " с Выбранными"
Коллеги, приветствую!
Есть необходимость очистить поле вложение (удалить фотки), есть у кого идея как это сделать массово (С выбранными)?
Есть необходимость очистить поле вложение (удалить фотки), есть у кого идея как это сделать массово (С выбранными)?
-
- Инвестор
- Сообщения: 481
- Зарегистрирован: 09 янв 2020, 11:49
- Имя: Владимир
- Откуда: Тверь
- Организация: ООО "ВебСофт"
Re: Удалить вложения " с Выбранными"
Удалять записи не нужно, а нужно очищать вложения в поле записи
- Fait
- Инвестор
- Сообщения: 930
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
Re: Удалить вложения " с Выбранными"
Аа, понял!
Кстати да, хороший вопрос!
Должна же быть какая-то функция для удаления файла с сервера.
Пока что я себе представляю это всё-равно через автоматизацию с PHP скриптом.
Как получить имя и расположение файла, я знаю, но что дальше?...
Если только через PHP отправить команду на сервер для удаления файла. А затем опустошить само поле через items::update_by_id()
Кстати да, хороший вопрос!
Должна же быть какая-то функция для удаления файла с сервера.
Пока что я себе представляю это всё-равно через автоматизацию с PHP скриптом.
Как получить имя и расположение файла, я знаю, но что дальше?...
Если только через PHP отправить команду на сервер для удаления файла. А затем опустошить само поле через items::update_by_id()
-
- Инвестор
- Сообщения: 481
- Зарегистрирован: 09 янв 2020, 11:49
- Имя: Владимир
- Откуда: Тверь
- Организация: ООО "ВебСофт"
Re: Удалить вложения " с Выбранными"
Подскажи, а как получить расположение файла?
- Fait
- Инвестор
- Сообщения: 930
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
Re: Удалить вложения " с Выбранными"
Вот так можно получить путь к файлу, как относительный, так и полный:
Код: Выделить всё
$f = [777]; // Поле с файлом (одна штука)
$file = attachments::parse_filename($f);
if ($_SERVER['HTTPS'] == 'on') { // Определяем префикс
$pref = 'https://';
}
else {
$pref = 'http://';
}
$short_name = $file['file_path']; // В эту переменную записывается относительный путь к файлу
$full_name = $pref.$_SERVER['HTTP_HOST'].'/'.$file['file_path']; // В эту переменную записывается полный путь к файлу
if (is_file($short_name)) { // Проверка существования файла
// Тут описываем действия
}
- Fait
- Инвестор
- Сообщения: 930
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
Re: Удалить вложения " с Выбранными"
А вообще, для удаления файла вот такой код можно использовать:
Код: Выделить всё
if (!unlink($short_name)) {
echo ("Файл не может быть удалён!");
}
else {
echo ("Файл удалён!");
}
- Fait
- Инвестор
- Сообщения: 930
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
Re: Удалить вложения " с Выбранными"
И вообще, вот итоговый код:
Если нужно использовать $full_name, то подставляет его соответственно в команду удаления.
Код: Выделить всё
$f = [777]; // Поле с файлом (одна штука)
$file = attachments::parse_filename($f);
if ($_SERVER['HTTPS'] == 'on') { // Определяем префикс
$pref = 'https://';
}
else {
$pref = 'http://';
}
$short_name = $file['file_path']; // В эту переменную записывается относительный путь к файлу
$full_name = $pref.$_SERVER['HTTP_HOST'].'/'.$file['file_path']; // В эту переменную записывается полный путь к файлу
if (is_file($short_name)) { // Проверка существования файла
unlink($short_name); // Удаляем файл
}
Последний раз редактировалось Fait 12 янв 2024, 04:01, всего редактировалось 1 раз.
- Fait
- Инвестор
- Сообщения: 930
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
Re: Удалить вложения " с Выбранными"
Итак, решил я всё-таки испробовать код у себя, и вот этот вариант работает прекрасно, и причём с удалением множества вложений:
Код: Выделить всё
$f = [777]; // Поле с файлами
$f_arr = explode(',',$f);
foreach ($f_arr as $key => $value) {
$file = attachments::parse_filename($value);
$link = $file['file_path']; // Путь к файлу
if (is_file($link)) { // Проверяем существование файла
unlink($link); // Удаляем файл
}
}
-
- Инвестор
- Сообщения: 481
- Зарегистрирован: 09 янв 2020, 11:49
- Имя: Владимир
- Откуда: Тверь
- Организация: ООО "ВебСофт"
Re: Удалить вложения " с Выбранными"
Проверил, работает, благодарю! Вот только оставляет файлы с 0
- Вложения
-
- Скриншот 15-01-2024 091609.jpg (33.63 КБ) 677 просмотров