mkdir
funkcja
Tworzy nowy katalog o podanej ścieżce i uprawnieniach. Zwraca true przy sukcesie, false przy błędzie.
mkdir(string $directory, int $permissions = 0777, bool $recursive = false, ?resource $context = null): bool
mkdir tworzy katalog podany jako $directory. Domyślne uprawnienia to 0777, lecz na ich ostateczną wartość wpływa maska umask systemu operacyjnego — w praktyce nowy katalog często otrzymuje 0755. Jeśli chcesz tworzyć całą zagnieżdżoną strukturę naraz (np. katalog/podkatalog/kolejny), ustaw $recursive na true. Gdy katalog już istnieje lub brak uprawnień, funkcja zwraca false — sprawdzaj wynik i obsługuj błędy.
Bezpieczeństwo: nigdy nie buduj ścieżki katalogu z niezaufanych danych użytkownika — grozi to atakiem path-traversal umożliwiającym tworzenie katalogów w dowolnym miejscu serwera.
<?php
declare(strict_types=1);
$katalog = __DIR__ . '/upload/zdjecia/2024';
if (!is_dir($katalog)) {
$sukces = mkdir($katalog, 0755, true);
if ($sukces) {
echo 'Katalog został utworzony.';
} else {
echo 'Nie udało się utworzyć katalogu.';
}
} else {
echo 'Katalog już istnieje.';
}