Wyświetlanie przesłanego pliku na stronie internetowej

Założenie: Wyświetlimy na stronie internetowej plik przesłany przez użytkownika za pomocą formularza HTML.

Krok po kroku:

  1. Utworzenie formularza HTML: Formularz umożliwi użytkownikowi wybranie pliku do przesłania. Pamiętaj o atrybucie `enctype=”multipart/form-data”`.
  2. 
    <form method="post" action="upload.php" enctype="multipart/form-data">
      Wybierz plik: <input type="file" name="plik">
      <input type="submit" value="Wyślij">
    </form>
    				
  3. Obsługa przesłanego pliku (upload.php): W tym pliku sprawdzimy, czy plik został przesłany i wyświetlimy go.
  4. 
    <?php
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
      if (isset($_FILES["plik"])) {
        $plik = $_FILES["plik"];
        $nazwaPliku = $plik["name"];
        $typPliku = $plik["type"];
        $rozmiarPliku = $plik["size"];
        $tymczasowaNazwa = $plik["tmp_name"];
    
        // Sprawdzenie typu pliku (dla bezpieczeństwa)
        $dozwoloneTypy = array("image/jpeg", "image/png", "image/gif");
        if (in_array($typPliku, $dozwoloneTypy)) {
          // Przeniesienie pliku do docelowego folderu
          $cel = "uploads/" . $nazwaPliku;
          move_uploaded_file($tymczasowaNazwa, $cel);
    
          // Wyświetlenie pliku
          echo "<img src='" . $cel . "' alt='" . $nazwaPliku . "'>";
        } else {
          echo "Niedozwolony typ pliku.";
        }
      } else {
        echo "Nie przesłano pliku.";
      }
    }
    ?>
    				
  5. Wyjaśnienie kodu: Kod sprawdza metodę żądania (`POST`), istnienie pliku w tablicy `$_FILES`, sprawdza typ pliku i przenosi go do folderu `uploads/`. Następnie wyświetla obraz za pomocą tagu `img`. Pamiętaj o utworzeniu folderu `uploads/` w tym samym katalogu co `upload.php`.

Ten przykład pokazuje podstawy wyświetlania przesłanego pliku na stronie. Pamiętaj o bezpieczeństwie i walidacji danych przed wyświetleniem pliku na stronie.

Dodaj komentarz 0

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