Sprawdzenie uprawnień do katalogu (fileperms)
Założenie: Nauczymy się, jak używać funkcji fileperms()
w PHP do sprawdzania uprawnień dostępu do katalogu.
Krok po kroku:
- Sprawdzenie uprawnień: Użyj funkcji
fileperms()
, aby uzyskać informacje o uprawnieniach dostępu do określonego katalogu. Funkcja zwraca liczbę całkowitą reprezentującą uprawnienia. - Dekodowanie uprawnień (opcjonalnie): Uzyskana liczba całkowita nie jest zbyt czytelna. Możesz ją przekonwertować na bardziej zrozumiałą reprezentację, np. używając funkcji
decoct()
, która zamienia ją na postać ósemkową. - Interpretacja uprawnień (opcjonalnie): Możesz stworzyć funkcję, która na podstawie wartości ósemkowej wyświetli bardziej szczegółową informację o uprawnieniach.
$perms = fileperms('/path/to/directory');
Zamień '/path/to/directory'
na rzeczywistą ścieżkę do katalogu, którego uprawnienia chcesz sprawdzić.
$octalPerms = decoct($perms);
echo "Uprawnienia w notacji ósemkowej: " . $octalPerms;
Notacja ósemkowa pokazuje uprawnienia dla właściciela, grupy i innych użytkowników (np. 755 oznacza pełne uprawnienia dla właściciela, odczyt i wykonanie dla grupy i innych).
function getPermissions($perms) {
$owner = ($perms & 0700) ? (($perms & 0400) ? 'r' : '').(($perms & 0200) ? 'w' : '').(($perms & 0100) ? 'x' : '') : '---';
$group = ($perms & 0070) ? (($perms & 0040) ? 'r' : '').(($perms & 0020) ? 'w' : '').(($perms & 0010) ? 'x' : '') : '---';
$other = ($perms & 0007) ? (($perms & 0004) ? 'r' : '').(($perms & 0002) ? 'w' : '').(($perms & 0001) ? 'x' : '') : '---';
return "$owner$group$other";
}
$permissionsString = getPermissions($perms);
echo "Uprawnienia: " . $permissionsString;
Ta funkcja analizuje bitowo wartość uprawnień i zwraca ciąg znaków ‘rwx’ dla każdego z trzech typów użytkowników (właściciel, grupa, inni).
Ten przykład pokazuje podstawowe użycie funkcji fileperms()
. Zachęcamy do dalszego zgłębiania tematu uprawnień plików i katalogów w PHP!