Створення сторінки зі списком файлів з певного каталогу з прев’ю та описом.

Автор | 17.03.2023

приклад коду, який використовує HTML та PHP для створення сторінки зі списком файлів з певного каталогу з прев’ю та описом.

<!DOCTYPE html>
<html>
<head>
	<title>Список файлів</title>
</head>
<body>
	<h1>Список файлів</h1>
	<ul>
	<?php
	// шлях до каталогу з файлами
	$dir_path = "/path/to/directory";

	// функція для отримання інформації про файл
	function get_file_info($file_path) {
		$info = array();
		$info['name'] = basename($file_path);
		$info['path'] = $file_path;
		$info['preview'] = "preview.png"; // замінити на реальний шлях до прев'юшки
		$info['description'] = "Опис файлу"; // замінити на реальний опис файлу
		return $info;
	}

	// отримуємо список файлів у каталозі
	$files = glob($dir_path . '/*');

	// проходимо по кожному файлу та виводимо інформацію про нього
	foreach ($files as $file) {
		if (is_file($file)) {
			$info = get_file_info($file);
			$file_link = "<a href='" . $info['path'] . "'>" . $info['name'] . "</a>";
			$preview_img = "<img src='" . $info['preview'] . "' alt='" . $info['name'] . "'>";
			$file_desc = "<p>" . $info['description'] . "</p>";
			echo "<li>" . $preview_img . " " . $file_link . " " . $file_desc . "</li>";
		}
	}
	?>
	</ul>
</body>
</html>

Примітка: цей код можна змінювати та адаптувати до своїх потреб. Також потрібно звернути увагу на права доступу до файлів та безпеку, щоб уникнути можливих проблем.

Для додавання авторизації до каталогу вам потрібно змінити код таким чином, щоб перевіряти наявність авторизації перед тим, як дозволити доступ до каталогу.

Ось приклад коду для авторизації за допомогою бази даних MySQL:

<!DOCTYPE html>
<html>
<head>
	<title>File Browser</title>
</head>
<body>
	<?php
		// Підключаємо файли конфігурації
		require_once 'config.php';

		// Перевіряємо, чи залогований користувач
		session_start();
		if (!isset($_SESSION['user_id'])) {
			header('Location: login.php');
			exit;
		}

		// Отримуємо список файлів в директорії
		$dir = './files';
		$files = scandir($dir);
		$files = array_diff($files, array('.', '..'));

		// Виводимо список файлів
		foreach ($files as $file) {
			$filePath = $dir . '/' . $file;
			$fileInfo = pathinfo($filePath);
			$fileExt = $fileInfo['extension'];

			// Виводимо прев'ю зображення
			if (in_array($fileExt, array('jpg', 'jpeg', 'gif', 'png'))) {
				echo '<a href="' . $filePath . '" target="_blank"><img src="' . $filePath . '" height="100"></a><br>';
			}

			// Виводимо інформацію про файл
			echo '<a href="' . $filePath . '">' . $file . '</a><br>';
		}
	?>
</body>
</html>

Цей код перед виведенням списку файлів перевіряє, чи залогований користувач, використовуючи змінну сесії $_SESSION['user_id']. Якщо змінна сесії не встановлена, користувач буде перенаправлений на сторінку авторизації.

Ви можете створити сторінку авторизації, яка зберігає ідентифікатор користувача у змінній сесії після успішної аутентифікації. Також вам потрібно створити таблицю користувачів у базі даних MySQL та зберігати там інформацію про користувачів та їх хеші паролів. Для перевірки введеного користувачем логіну та паролю в базі даних

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *