Перейти к контенту
  • 0

Удаление прикрепленных файлов из форумов


Вопрос

Удаление прикрепленных файлов из форумов

Только файлов - форумы, темы оставить на месте.

 

Полазал в поиске ничего не нашел, подскажите пожалуйста как это релизовать.

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Не уверена до конца, но вам видимо нужно просто очистить таблицу ibf_attachments:

 

DELETE FROM  ibf_attachments WHERE attach_rel_module = "post"

, а также почистить папку /uploads (не удалите аватары и фото!).

 

Если же нужно выборочно почистить, по плясать нужно от attach_rel_id - номер поста, к которому прикреплен файл.

Изменено пользователем Ritsuka
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Вот в том то и сложность что чистить - надо определенные форумы а не все... ;)

Ладно спасибо - придется с мне с этими разделами форума попращатся :D

 

Слишком огромное количество постов и подфорумов...

 

Но они не супер важные - просто хотел оставить для поисковых систем там много контета по которому народ попадал бы на мой сайт.. Обсуждений различных.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Подождите спешить) Предварительный бекап таблицы ibf_attachments крайне приветствуется)

 

Вот запрос выборки всех аттачей с определенного форума:

SELECT ibf_attachments.attach_id, ibf_attachments.attach_file, ibf_posts.pid, ibf_posts.topic_id,  ibf_topics.forum_id FROM ibf_attachments LEFT OUTER JOIN ibf_posts ON ibf_attachments.attach_rel_id = ibf_posts.pid LEFT OUTER JOIN ibf_topics ON ibf_posts.topic_id = ibf_topics.tid WHERE ibf_attachments.attach_rel_module = "post" AND  ibf_topics.forum_id = ____НОМЕР_ФОРУМА_____

 

Сначала визуально проверьте, все ли так, затем сделайте следующее:

SELECT ibf_attachments.attach_id FROM ibf_attachments LEFT OUTER JOIN ibf_posts ON ibf_attachments.attach_rel_id = ibf_posts.pid LEFT OUTER JOIN ibf_topics ON ibf_posts.topic_id = ibf_topics.tid WHERE ibf_attachments.attach_rel_module = "post" AND  ibf_topics.forum_id = ____НОМЕР_ФОРУМА_____

 

Экспортируйте результат (в самом низу в phpMyAdmin, в блоке "Использование результатов запроса") в CSV, получите что-то вроде этого:

"30"
"34"
"124"
"125"
"126"
"157"
"160"
"1201"
"1202"
"1279"

 

Теперь в любом редакторе заменяете

\n

на

 OR attach_id =

, добавляете в начало:

 

DELETE FROM ibf_attachments WHERE  attach_id =

 

Получаете запрос вида:

DELETE FROM ibf_attachments WHERE  attach_id = "30"
OR attach_id = "34"
OR attach_id = "124"
OR attach_id = "125"
OR attach_id = "126"
OR attach_id = "157"
OR attach_id = "1201"
OR attach_id = "1202"
OR attach_id = "1279"

и выполняете его. Это все.

Изменено пользователем Ritsuka
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Раз уж будете писать утилиту, тогда захватите еще и поля attach_location и attach_thumb_location из ibf_attachments и физически потрите файлы на серве по этим путям) Хотя это не обязательно - можно просто прогнать средство очистки, и оно само удалит все "потерявшиеся" файлы.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Так копию таблицы сделайте сначала, и сразу станет спокойно на душе :D

 

А физически файлы потрутся только при запуске оснастки "Удаление прикрепленных файлов без связей".

Изменено пользователем Ritsuka
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.