A mai bejegyzésünkben bemutatunk egy egyszerű, de nagyon hasznos PHP szkriptet, amely lehetővé teszi számunkra, hogy listázzuk a fájlokat egy meghatározott könyvtárban a webkiszolgálónkon. Ez a funkcionalitás különösen hasznos lehet webfejlesztők és rendszergazdák számára, akik gyorsan szeretnének információt szerezni a szerverükön tárolt fájlokról.
Tartalomjegyzék
Miért hasznos ez a szkript?
- Könnyű hozzáférés: Közvetlenül a böngészőből elérhető, ami lehetővé teszi a szerveren tárolt fájlok gyors megtekintését.
- Biztonságos: A szkript kizárja a PHP és a komment fájlokat, valamint megakadályozza a Google-t a tartalom indexelésében.
- Testreszabható: Lehetőség van beállítani a meta címet és leírást, valamint a megjelenített fájltípusokat is szabályozhatjuk.
Hogyan működik a szkript?
A szkript a PHP beépített DirectoryIterator
osztályát használja, ami egyszerűvé teszi a fájlok böngészését egy adott könyvtárban. A kód figyelembe veszi a fájlok nevét, kiterjesztését, méretét és a hozzájuk tartozó megjegyzéseket is, amennyiben léteznek. A fájlnevek linkként jelennek meg, ami lehetővé teszi a fájlok közvetlen megnyitását.
Biztonsági jellemzők
A szkript biztonsági okokból nem listázza a PHP fájlokat, hogy megakadályozza a potenciálisan érzékeny kódok szerverről való közvetlen elérését. Ezenkívül a meta tag-ek (noindex, nofollow
) biztosítják, hogy a tartalom ne legyen indexelhető a keresőmotorok számára.
A listázható fájlok kiterjesztését természetesen tudod módosítani a $allowedExtensions sorban.
Hogyan használható?
A szkript használatához egyszerűen töltsd fel a PHP fájlt a kívánt könyvtárba a szervereden, és nyisd meg a fájlt a böngésződben. A script automatikusan listázza a könyvtárban lévő fájlokat.
Kód részletei
Itt találod a teljes PHP kódot, amelyet a blogbejegyzésben tárgyaltunk:
<?php
$directory = '.'; // Jelenlegi könyvtár. Szükség esetén módosítható.
$allowedExtensions = ['txt', 'jpg', 'png', 'mp3', 'avi', 'pdf']; // Engedélyezett fájlkiterjesztések
$metaTitle = "Adja meg a Meta Címet"; // Meta Title
$metaDescription = "Adja meg a Meta Leírást"; // Meta Description
echo "<!DOCTYPE html>";
echo "<html lang='hu'>";
echo "<head>";
echo "<meta charset='UTF-8'>";
echo "<meta name='viewport' content='width=device-width, initial-scale=1.0'>";
echo "<meta name='title' content='" . htmlspecialchars($metaTitle) . "'>";
echo "<meta name='description' content='" . htmlspecialchars($metaDescription) . "'>";
echo "<meta name='robots' content='noindex, nofollow'>";
echo "<style>";
echo "table { width: 90%; margin: auto; border-collapse: collapse; }";
echo "@media (max-width: 600px) { table { width: 100%; } }";
echo "th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }";
echo "</style>";
echo "</head>";
echo "<body>";
echo "<table>";
echo "<tr><th>Fájl neve</th><th>Kiterjesztése</th><th>Mérete</th><th>Comment</th></tr>";
foreach (new DirectoryIterator($directory) as $fileInfo) {
if($fileInfo->isDot() || $fileInfo->getExtension() == 'php' || strpos($fileInfo->getFilename(), '_comment') !== false) continue;
$filename = $fileInfo->getFilename();
$fileExtension = $fileInfo->getExtension();
if (!in_array($fileExtension, $allowedExtensions)) continue;
$realPath = realpath($fileInfo->getPathname());
if (strpos($realPath, realpath($directory)) !== 0) continue;
$fileSize = $fileInfo->getSize();
$fileLink = htmlspecialchars($filename);
$commentFileName = $directory . '/' . pathinfo($filename, PATHINFO_FILENAME) . '_comment.txt';
$comment = '';
if (file_exists($commentFileName)) {
$comment = htmlspecialchars(file_get_contents($commentFileName));
}
echo "<tr><td><a href='{$fileLink}'>{$filename}</a></td><td>{$fileExtension}</td><td>{$fileSize} bytes</td><td>{$comment}</td></tr>";
}
echo "</table>";
echo "</body>";
echo "</html>";
?>
Ez a PHP szkript egy egyszerű és hatékony eszköz a webfejlesztők és rendszergazdák számára, hogy gyorsan hozzáférjenek a szerverükön tárolt fájlokhoz. A beépített biztonsági jellemzőkkel és a testreszabható opciókkal ez a szkript egy hasznos kiegészítő lehet bármely webprojekt számára.