Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Problem z wysłaniem pliku przez formularz
Forum PHP.pl > Forum > Przedszkole
dzemeuksis
Siedzę od rana i nie mogę zrozumieć jak się wysyła plik przez formularz.
Formularz wygląda tak:
  1. <form action="loga.php5" enctype="multipart/form-data" method="post">
  2. Nazwa: <input type="text" name="nazwa" size="25" value="tu wpisz pasującą nazwę" maxlength="50" />
  3. Plik: <input type="file" name="plik" />
  4. <input type="submit" value="Wyślij do bazy" />

W pliku loga.php5 wstawiłem:
  1. <?php
  2. echo '<pre>';
  3. print_r($_POST);
  4. echo '</pre>';
  5.  
  6. ini_set('display_errors', 1);
  7. ?>

i ewidentnie widać:
Cytat
Array
(
[nazwa] => as
)
Notice: Undefined index: plik in /var/www/PocztaKwiatowa/loga.php5 on line 12

że przechodzi tylko $nazwa, a plik nie. Ktoś potrafi powiedzieć dlaczego? Co takiego źle robię?
sticker
podejrz sobie co jest w zmiennej $_FILES smile.gif
dzemeuksis
No faktycznie polecenie
  1. <?php
  2. print_r($_FILES);
  3. ?>
pokazuje, że informacje o tym pliku zostały przesłane. Ale jak go teraz załadować do bazy danych? Jak próbuję za pomocą zmiennej
  1. <?php
  2. $plik = $_FILES['plik']['tmp_name'];
  3. ?>
wysłać plik w odpowiednie pole (blob) w bazie, to nie przesyła jednak chyba tego pliku, tylko samą ścieżkę. Jak zatem przesłać cały plik do bazy?
Kicok
No jeśli masz ścieżkę do pliku to możesz go sobie otworzyć, odczytać jego zawartość i zapisać to do bazy danych.
dzemeuksis
Racja, podołałem smile.gif
Dla takich noobków jak ja dodam, że należało wykorzystać funkcje fread i fopen.
Temat można już zamknąć.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.