Скрипт для перебора html/php/js файлов для построения списка используемых ресурсов

По мере развития некоторых из моих веб-сайтов сервер стал загроможден файлами, которые больше не используются, будь то из-за версий, плагинов jquery, которые больше не используются и т. д.

Я думаю о написании сценария с использованием grep с некоторым регулярным выражением, но если что-то уже существует, это облегчит задачу.

Может ли кто-нибудь указать мне правильное направление скрипта/программы, которую я могу передать листингу файлов html/php/js, которые могли бы перебирать их, читать код и говорить мне, что .php, .js, .jpg и т. д. ..файлы включены?

Скрипт может смотреть на src='', include(), require() и т. д.

Я не ищу кого-то, кто сделает это за меня; просто отправная точка того, как действовать, или если что-то уже существует.


person lsiunsuex    schedule 05.12.2012    source источник
comment
Я сомневаюсь, что будет какой-либо такой сценарий, из-за очень индивидуального характера каждого проекта и количества существующих на рынке фреймворков (они могут динамически включать файлы, поэтому вы никогда не получите от них используемое имя файла и т. д.)   -  person Zathrus Writer    schedule 05.12.2012


Ответы (2)


для изображений, скриптов и т. д. вы можете использовать firebug для firefox (просто нажмите на тег net)

В php вы можете использовать «var_dump(get_included_files())» (в конце вашего кода), чтобы получить все включенные файлы для этой конкретной страницы.

person Niclas Larsson    schedule 05.12.2012

Эта тема может дать вам некоторые ответы, хотя вероятно, работает только для Java.

Знайте, что код javascript может включать в себя еще несколько файлов js/css, что не очень удобно для grep:

var extraScript = document.createElement('script');
extraScript.src = scriptUrl;
document.head.appendChild(extraScript);

//or
document.write('<script src="' + scriptUrl + '"></script>');

Также php include*() может также использовать переменную или выражение, которое также невозможно выполнить grep, так как оно должно быть выполнено.

Чтобы противостоять всему этому, вы должны использовать javascript для анализа отображаемого HTML после того, как все другие js были выполнены, или использовать firebug (вкладка Net) или инструменты разработчика Chrome, а для PHP используйте get_included_files(), чтобы получить список включенных файлов php, и записать находки в файл или db или что-то еще... Это может занять некоторое время.

Я не уверен, что такое решение уже существует для PHP (вероятно), но если я его найду, я дам вам знать.

person Ivan Hušnjak    schedule 05.12.2012