Zapisywanie obrazów do pliku
Założenie: Nauczymy się, jak zapisać przesłany przez użytkownika obraz do pliku na serwerze.
Krok po kroku:
- Pobranie danych z formularza: Użytkownik przesyła obraz za pomocą formularza. W PHP pobieramy go za pomocą zmiennej `$_FILES`.
$plik = $_FILES['obraz'];
Ten kod pobiera informacje o przesłanym pliku z elementu formularza o nazwie ‘obraz’.
- Sprawdzenie poprawności przesłanego pliku: Zanim zapiszemy plik, sprawdzamy, czy przesłanie przebiegło poprawnie i czy plik jest obrazem.
if ($plik['error'] === UPLOAD_ERR_OK && in_array($plik['type'], ['image/jpeg', 'image/png', 'image/gif'])) { //Plik przesłany poprawnie i jest obrazem } else { //Błąd podczas przesyłania lub plik nie jest obrazem echo "Błąd podczas przesyłania pliku!"; exit; }
Ten kod sprawdza kod błędu przesyłania (`UPLOAD_ERR_OK`) oraz typ pliku, aby upewnić się, że jest to obraz.
- Zapisywanie pliku: Używamy funkcji `move_uploaded_file()` aby zapisać plik na serwerze.
$sciezka_docelowa = 'uploads/' . basename($plik['name']); if (move_uploaded_file($plik['tmp_name'], $sciezka_docelowa)) { echo "Plik został zapisany!"; } else { echo "Błąd podczas zapisywania pliku!"; }
Tutaj tworzymy ścieżkę docelową i używamy funkcji `move_uploaded_file()` do przeniesienia pliku tymczasowego na stałe miejsce. Pamiętaj o utworzeniu folderu ‘uploads’ w katalogu, w którym znajduje się skrypt.
Pamiętaj o odpowiednich uprawnieniach do zapisu w folderze ‘uploads’.
Ten przykład pokazuje podstawy zapisywania obrazów w PHP. Zachęcamy do dalszego zgłębiania tematu, np. dodając walidację rozmiaru i typu pliku, a także obsługę błędów.