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:

  1. 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’.

  2. 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.

  3. 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.

Dodaj komentarz 0

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