Przesyłanie danych z formularza za pomocą metody MOVE

Założenie: Nauczymy się, jak przesłać dane z formularza HTML do skryptu PHP za pomocą funkcji move_uploaded_file(), która przenosi przesłany plik na serwer.

Krok po kroku:

  1. Utworzenie formularza HTML: Utworzymy prosty formularz, który pozwala na przesłanie pliku.
  2. 
    <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 niezbędny do przesyłania plików.

  3. Skrypt PHP (upload.php): Ten skrypt przetworzy przesłane dane.
  4. 
    <?php
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
      $target_dir = "uploads/"; // Miejsce docelowe dla pliku
      $target_file = $target_dir . basename($_FILES["plik"]["name"]);
      $uploadOk = 1;
      $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
    
      // Sprawdzenie, czy plik został przesłany
      if(isset($_FILES["plik"])) {
        // Sprawdzenie rozmiaru pliku
        if ($_FILES["plik"]["size"] > 500000) { // 500KB
          echo "Przepraszam, Twój plik jest za duży.";
          $uploadOk = 0;
        }
        // Sprawdzenie typu pliku (można rozszerzyć)
        if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg") {
          echo "Przepraszam, tylko pliki JPG, JPEG i PNG są dozwolone.";
          $uploadOk = 0;
        }
        // Sprawdzenie, czy $uploadOk jest równe 0, to znaczy, że 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.";
          }
        }
      }
    }
    ?>
    				

    Funkcja move_uploaded_file() przenosi plik z tymczasowej lokalizacji na serwerze do określonego katalogu. Pamiętaj o utworzeniu katalogu “uploads/” w tym samym katalogu co skrypt.

Ten przykład pokazuje podstawy przesyłania plików za pomocą metody MOVE. Zachęcamy do dalszego zgłębiania tematu, aby poznać zaawansowane techniki walidacji i bezpieczeństwa plików przesyłanych przez użytkowników.

Dodaj komentarz 0

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