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:
- 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']
. - 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). - Ś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:
- Przeniesienie pliku: Przenieś plik z lokalizacji tymczasowej do docelowej za pomocą funkcji
move_uploaded_file()
: - Usunięcie pliku: Po zakończeniu pracy z plikiem, możesz go usunąć za pomocą funkcji
unlink()
:
$sciezkaDoPliku = 'uploads/' . basename($_FILES['plik']['name']);
Funkcja basename()
zwraca tylko nazwę pliku, zapobiegając potencjalnym problemom z bezpieczeństwem.
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.
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.