Usuwanie przesłanego pliku z serwera (unlink)

Założenie: Nauczymy się, jak usunąć przesłany plik z serwera za pomocą funkcji unlink() w PHP.

Krok po kroku:

  1. Załadowanie pliku: Załóżmy, że mamy formularz, który przesyła plik na serwer. Plik jest tymczasowo przechowywany w zmiennej $_FILES['plik']['tmp_name'].
  2. Sprawdzenie poprawności przesłania: Zawsze sprawdzaj, czy plik został przesłany poprawnie. Możesz to zrobić sprawdzając, czy zmienna $_FILES['plik']['error'] ma wartość 0 (brak błędów).
  3. Ścieżka do pliku: Utwórz zmienną przechowującą pełną ścieżkę do pliku na serwerze. Pamiętaj o zabezpieczeniu przed atakami typu Directory Traversal. Przykładowo:
  4. 
    $sciezkaDoPliku = 'uploads/' . basename($_FILES['plik']['name']);
    				

    Funkcja basename() zwraca tylko nazwę pliku, zapobiegając potencjalnym problemom z bezpieczeństwem.

  5. Przeniesienie pliku: Przenieś plik z lokalizacji tymczasowej do docelowej za pomocą funkcji move_uploaded_file():
  6. 
    if (move_uploaded_file($_FILES['plik']['tmp_name'], $sciezkaDoPliku)) {
        echo "Plik został przesłany.";
    } else {
        echo "Błąd podczas przesyłania pliku.";
    }
    				

    Funkcja ta sprawdza również integralność pliku.

  7. Usunięcie pliku: Po zakończeniu pracy z plikiem, możesz go usunąć za pomocą funkcji unlink():
  8. 
    if (file_exists($sciezkaDoPliku)) {
        if (unlink($sciezkaDoPliku)) {
            echo "Plik został usunięty.";
        } else {
            echo "Błąd podczas usuwania pliku.";
        }
    } else {
        echo "Plik nie istnieje.";
    }
    				

    Funkcja file_exists() sprawdza, czy plik istnieje przed próbą jego usunięcia.

Ten przykład pokazuje podstawy usuwania plików za pomocą funkcji unlink(). Pamiętaj o odpowiednim obsługiwaniu błędów i zabezpieczeniu przed atakami.

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *