PHP
Wyszukiwarka
Wprowadzenie do PHP
Instalacja i konfiguracja środowiska
- Jak zainstalować PHP na lokalnym serwerze (XAMPP)
- Podstawowa konfiguracja w pliku php.ini
- Ustawienia błędów (display_errors, error_reporting)
Operatory
- Operatory arytmetyczne w PHP
- Operatory porównania i logiczne
- Skrócone operatory przypisania (+=, -=, .=)
Instrukcje warunkowe i pętle
- Instrukcja if/else w PHP
- Instrukcja switch/case w PHP
- Pętla for w PHP
- Pętla while w PHP
- Pętla do...while w PHP
- Pętla foreach w PHP (tablice i obiekty)
Funkcje
- Tworzenie i wywoływanie funkcji
- Parametry domyślne i typowanie argumentów
- Funkcje anonimowe i strzałkowe w PHP
Tablice
- Tablice indeksowane i asocjacyjne
- Przegląd najważniejszych funkcji tablicowych
- Iteracja po tablicach: foreach, array_map, array_filter
Obsługa formularzy
Obsługa baz danych
- Połączenie z MySQL: rozszerzenie MySQLi
- Zapytania SELECT, INSERT, UPDATE w praktyce
- Bezpieczne zapytania (prepared statements)
Praca z plikami
- Odczyt i zapis plików tekstowych
- Tworzenie i usuwanie katalogów, prawa dostępu
- Obsługa plików CSV do importu i eksportu danych
Tworzenie i usuwanie katalogów, prawa dostępu
Tworzenie i usuwanie katalogów w PHP pozwala na dynamiczne zarządzanie strukturą plików w aplikacji. Możesz tworzyć foldery do uploadu, zapisywania logów czy innych danych. Należy jednocześnie zadbać o prawa dostępu, aby skrypt mógł poprawnie odczytywać i zapisywać pliki.
Tworzenie, usuwanie katalogów i prawa dostępu
- mkdir($ścieżka, $tryb, $rekursywnie)
- Funkcja do tworzenia folderu. Argument $tryb (np. 0755) określa prawa dostępu.
- Możesz ustawić $rekursywnie=true, by utworzyć całe drzewo katalogów naraz.
- rmdir($ścieżka)
- Usuwa pusty katalog. Jeśli katalog nie jest pusty, najpierw usuń pliki w środku.
- chmod($ścieżka, $tryb)
- Pozwala zmienić prawa dostępu do pliku/katalogu (np. 0777 do pełnego zapisu, odczytu i wykonania).
- Prawa dostępu w systemach Unix
- Kod w stylu 0755 oznacza odpowiednio prawa do read, write, execute dla właściciela, grupy i innych.
Przykład
<?php
$folder = "test_folder";
// Tworzenie katalogu
if (!file_exists($folder)) {
if (mkdir($folder, 0755)) {
echo "<p>Utworzono katalog: $folder</p>";
} else {
echo "<p>Nie udało się utworzyć katalogu: $folder</p>";
}
} else {
echo "<p>Katalog $folder już istnieje.</p>";
}
// Usunięcie katalogu (jeśli jest pusty)
if (file_exists($folder)) {
// Najpierw sprawdź, czy jest pusty
$sciezki = scandir($folder);
if (count($sciezki) <= 2) {
if (rmdir($folder)) {
echo "<p>Usunięto pusty katalog: $folder</p>";
} else {
echo "<p>Nie udało się usunąć katalogu: $folder</p>";
}
} else {
echo "<p>Katalog $folder nie jest pusty, nie można go usunąć rmdir()</p>";
}
}
?>
Zwrócona zawartość
Utworzono katalog: test_folder
[Kolejne wywołanie skryptu może pokazać "Katalog test_folder już istnieje."]
Jeśli jest pusty, skrypt go usunie, w przeciwnym razie powiadomi, że nie jest pusty.
Przykładowe zastosowania tworzenia/usuwania katalogów
- Dynamiczny upload plików
- Dla każdego użytkownika możesz tworzyć osobny folder na przesyłane zdjęcia.
- System logów
- Tworzenie folderów miesięcznych (np. 2023-05) do przechowywania plików logów.
- Czyszczenie nieużywanych folderów
- Skrypt okresowo sprawdza katalogi i usuwa puste, które nie są już potrzebne.
Podsumowanie
- Funkcja mkdir umożliwia tworzenie katalogów z określonymi uprawnieniami (np. 0755).
- rmdir usuwa katalog tylko wtedy, gdy jest pusty. W przeciwnym razie trzeba ręcznie skasować pliki w środku.
- chmod służy do zmiany praw dostępu (odczyt, zapis, wykonanie) w systemach Unix.
- Dbaj o prawa zapisu skryptu PHP w folderze, w którym tworzysz nowe katalogi. Ustawienia zależą od konfiguracji serwera.