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.';
}