Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Как удалить модуль, который ставиться копированием файлов на сервер ?


oleksij
 Поделиться

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

Может повтор, но все же

 

Вчера тестировал модули, которые устанавливаются обычным копированием файлов на сервер.

Советы по удалению таких модулей ручной чисткой, меня вывели из себя.

 

Утром дошло, что можно упростить себе эту задачу.

 

1. Получаем список файлов (с путями) исходного модуля (те что в паке upload) и кидаем этот файл list.txt в корень сайта

admin/view/stylesheet/..../file.php

2.кидаем в корень файл del.php

<?php
$files = file('list.txt');
foreach ($files as $file) {
    unlink(trim($file));
}
?>

Переходим по ссылке https;//сайт/del.php

Все файлы из списка удалены

 

С шелом конечно легче, но не у всех он есть

 

Может кому то пригодится

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

Разумно, но лучше для тестирования модулей иметь отдельный поддомен.

Ведь кроме файлов, модули сохраняют свои настройки в базе, некоторые даже новые таблицы. 

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

8 минут назад, SiteMix сказал:

1. Осталось уточнить каким образом получаем список файлов...

 

ага
проще уже будет пройтись по ftp по капкам и снести ручками

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


20 хвилин назад, SiteMix сказав:

Осталось уточнить каким образом получаем список файлов...

Это шутка такая ? :)

 

У каждого есть ПК, с разными ОС.

Так что это вопрос умения пользоваться своей ОС

 

Есть куча утилит для винды, я быстренько получил список с помощью Total Commander, cmd тоже никто не отменял,

А в линуксе вообще всё просто.

 

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

11 минут назад, oleksij сказал:

Это шутка такая ? :)

Отнюдь. Я, например, не знаю. И уверен, что я не одинок.

Опять же, сказал А, скажи и Б ;-)

 

12 минут назад, oleksij сказал:

У каждого есть ПК, с разными ОС.

Так что это вопрос умения пользоваться своей ОС

Есть куча утилит для винды, я быстренько получил список с помощью Total Commander, cmd тоже никто не отменял,

Неплохо бы описать хотя бы один вариант. Хотя бы упомянутый для Total Commander.

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


41 хвилину назад, Vetroff сказав:

Ведь кроме файлов, модули сохраняют свои настройки в базе, некоторые даже новые таблицы. 

А некоторые даже заменяют файлы CMS

 

Сам принцип инсталяции и денисталяции не продуман

но это уже отдельная тема

 

 

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

6 годин назад, SiteMix сказав:

Неплохо бы описать хотя бы один вариант.

Total Commander не у всех стоит, и если есть, то может нету нужных для этого плагинов.

 

Поэтому лучше штатными утилитами

 

Для windows-10

Все файлы скрипта ложим в D:\temp\upload\

file.cmd запускаем из любой другой папки, например с рабочего стола

cd /d D:\temp\upload
rem получаю список файлов каталога D:\temp\upload\
dir /B /S /a-d > D:\temp\d
rem удаляю пути винды D:\temp\upload\
powershell -Command "(gc D:\temp\d) -replace 'D:\\temp\\upload\\', '' | Out-File -encoding ASCII D:\temp\d"
rem ну не знаю как на powershell сделать замену слеша, пишем такой костыль
rem замена слеша на линуксовый
setlocal enabledelayedexpansion
Set infile=D:\temp\d
Set find=\
Set replace=/
setlocal enabledelayedexpansion
set COUNT=0
for /F "tokens=* delims=," %%n in (!infile!) do (
set LINE=%%n
set TMPR=!LINE:%find%=%replace%!
Echo !TMPR!>>D:\temp\upload\TMP.txt
)
DEL /F /S /Q /A "D:\temp\d"
rename "D:\temp\upload\TMP.txt" list.txt

Видим появился файл

D:\temp\upload\ list.txt

 

Если на 7-ке powershell не работает

То

cd /d D:\temp\upload
rem получаю список файлов каталога D:\temp\upload\
dir /B /S /a-d > D:\temp\list.txt

А потом автозаменой в блокноте

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

6 годин назад, qpldl сказав:

проще уже будет пройтись по ftp по капкам и снести ручками

Ну вам виднее, я лично устал от ручной чистки

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

7 годин назад, SiteMix сказав:

Неплохо бы описать хотя бы один вариант. Хотя бы упомянутый для Total Commander.

 

Открывем Total Commander

 

Заходим в папку D:\temp\upload\

CTRL+B

CTRL+A

Инструменты - Копировать полные имена файлов

 

Открываем блокнот

CTRL+V

Правка - Заменить

Что: d:\temp\upload\

на

Чем: пусто

Заменить все

 

Правка - Заменить

Что: \

на

Чем: /

Заменить все

 

сохранить файл

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

Как удалить это пост ?

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

44 минуты назад, oleksij сказал:

Как удалить это пост ?

Пост может удалить только модератор или администратор.

 

1 час назад, oleksij сказал:

 

Открывем Total Commander

 

Заходим в папку D:\temp\upload\

CTRL+B

CTRL+A

Инструменты - Копировать полные имена файлов

 

Открываем блокнот

CTRL+V

Правка - Заменить

Что: d:\temp\upload\

на

Чем: пусто

Заменить все

 

Правка - Заменить

Что: \

на

Чем: /

Заменить все

 

сохранить файл

Это работает, спасибо!

Поправка для тех у кого Free Commander: вместо "Инструменты - Копировать полные имена файлов" следует читать "Правка - Копировать полное имя как текст (Alt + Ins)".

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


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

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

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.