Formularze wieloczęściowe (multipart/form-data)
Założenie: Nauczymy się obsługiwać formularze HTML, które przesyłają dane w formacie multipart/form-data
, umożliwiając przesyłanie plików na serwer.
Krok po kroku:
- Tworzenie formularza HTML: Utworzymy prosty formularz z polem do wyboru pliku.
- Obsługa formularza w PHP (upload.php): Napiszemy skrypt PHP, który przetworzy przesłane dane.
<form action="upload.php" method="post" enctype="multipart/form-data">
Wybierz plik: <input type="file" name="plik">
<input type="submit" value="Wyślij">
</form>
Atrybut enctype="multipart/form-data"
jest kluczowy – informuje przeglądarkę o przesyłaniu danych w formacie wieloczęściowym.
500000) { // 500KB
echo "Przepraszam, Twój plik jest za duży.";
$uploadOk = 0;
}
// Sprawdzenie typu pliku
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Przepraszam, tylko pliki JPG, JPEG, PNG & GIF są dozwolone.";
$uploadOk = 0;
}
// Sprawdzenie, czy $uploadOk jest 0, a następnie ustawienie $uploadOk na 0, jeśli wystąpił błąd
if ($uploadOk == 0) {
echo "Przepraszam, Twój plik nie został przesłany.";
// Jeśli wszystko jest w porządku, spróbuj przesłać plik
} else {
if (move_uploaded_file($_FILES["plik"]["tmp_name"], $target_file)) {
echo "Plik ". htmlspecialchars( basename( $_FILES["plik"]["name"])). " został przesłany.";
} else {
echo "Przepraszam, wystąpił błąd podczas przesyłania pliku.";
}
}
}
?>
Kod ten sprawdza rozmiar i typ pliku, a następnie przenosi go do folderu „uploads/”. Pamiętaj o utworzeniu tego folderu!
Ten przykład pokazuje podstawy obsługi formularzy multipart/form-data
w PHP. Zachęcamy do dalszego zgłębiania tematu, np. dodając walidację danych i obsługę błędów.