Цей файл є повноцінним PHP-скриптом, який створює веб-сторінку для сканування структури файлів і папок сайту. Він реалізований в одному файлі, як і було бажано, підтримує 3 мови (українську, англійську та російську), має красиве оформлення за допомогою Bootstrap та кнопку для завантаження звіту в TXT-файлі. Нижче детальний опис його основних функцій і компонентів:
1. Підтримка багатомовності
Скрипт визначає тексти для трьох мов (uk, en, ru) у масиві $languages.
Поточна мова вибирається через параметр GET (?lang=uk/en/ru). За замовчуванням — українська.
Кнопки для перемикання мов відображаються в інтерфейсі з класами Bootstrap для стилізації (активна кнопка виділяється).
Усі елементи інтерфейсу (заголовки, кнопки, повідомлення) динамічно змінюються залежно від обраної мови.
2. Сканування структури файлів і папок
При натисканні кнопки "Сканувати" (або еквівалентної на інших мовах) запускається рекурсивне сканування кореневої директорії сайту (використовується __DIR__).
Функція scanDirectory($path, $indent, $output_file):
Рекурсивно переглядає директорії та файли.
Ігнорує системні елементи: ., .., .git, .DS_Store, structure.txt.
Формує дерево-структуру з відступами (|-- та пробіли для ієрархії).
Записує результат у файл structure.txt (очищає файл перед скануванням і додає рядки через file_put_contents з прапорцем FILE_APPEND).
Обробляє помилки через try-catch, записуючи їх у файл (наприклад, "[Помилка: повідомлення]").
Сканування відбувається так само, як у вихідній версії, але з покращеннями для ігнорування файлів і стилізації виводу.
3. Відображення результатів
Після сканування виводить заголовок "Структура файлів і папок:" (або еквівалент).
Показує вміст structure.txt у тегу <pre> з HTML-екрануванням (htmlspecialchars) для безпечного відображення.
Блок <pre> стилізовано: фон білий, межа, максимальна висота 500px з прокруткою, шрифт 14px.
Якщо файл не створено, виводить повідомлення про помилку червоним кольором.
4. Кнопка завантаження звіту
Після успішного сканування з'являється кнопка "Завантажити звіт (structure.txt)" (або еквівалент).
Кнопка реалізована як посилання <a href='structure.txt' download>, що дозволяє завантажити файл безпосередньо з браузера без потреби заходити на хостинг.
Це відповідає вимозі уникнути повторного доступу до хостингу для скачування.
5. Оформлення інтерфейсу
Використовує Bootstrap 5.3.0 для responsive дизайну: контейнер, карта (card), кнопки з класами btn-primary, btn-success тощо.
Додаткові стилі в <style>: фон тіла, відступи, стилі для <pre>.
Інтерфейс центрується, має заголовок, селектор мов і форму з кнопкою сканування.
Скрипт для Bootstrap підключається в кінці для інтерактивності.
6. Загальні особливості
Файл самодостатній: все в одному start.php, без залежностей від інших файлів (крім зовнішніх CDN для Bootstrap).
Безпека: використовує htmlspecialchars для виводу, щоб уникнути XSS.
Обробка помилок: базова, через вивід повідомлень і запис у файл.
Сумісність: PHP-функції стандартні, працюють на більшості хостингів.
Цей скрипт повністю відповідає вказаним вимогам: сканує структуру як раніше, підтримує 3 мови, красиво оформлений і має кнопку завантаження TXT-звіту. Якщо потрібно внести зміни, дайте знати!
Сканування структури файлів і папок сайту
- demonx
- Администратор
- Сообщения: 592
- Зарегистрирован: 27 май 2022, 21:33
- Откуда: Ірпінь
- Контактная информация:
Сканування структури файлів і папок сайту
- Вложения
-
- start.zip
- (2.18 КБ) 3 скачивания