Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Pobieranie kilku plikow z kilku input'ow
Forum PHP.pl > Forum > Przedszkole
szlogoon
Witam mam taki problem i siedze nad nim juz dluzszy czas.
Robie cos takiego

<?php
<tr>
<td td colspan="2" >
<table><tr><td><img src="foto/realizacje/'.$zd_4.'" style="width:70px;height:70px;" /></td>
<td><span class="form_tytuly"><br>&nbsp;&nbsp;Zmień zdjęcie 4. &nbsp;</span><input type="file" name="up[4]" /></td></tr></table>
</td>
</tr>
<tr>
<td td colspan="2" >
<table><tr><td><img src="foto/realizacje/'.$zd_5.'" style="width:70px;height:70px;" /></td>
<td><span class="form_tytuly"><br>&nbsp;&nbsp;Zmień zdjęcie 5. &nbsp;</span><input type="file" name="up[5]" /></td></tr></table>
</td>
</tr>
<TR>
<td>
<table>
<tr>
<td>
<img src="foto/realizacje/'.$zd_6.'" style="width:70px;height:70px;" /></td>
<td><span class="form_tytuly"><br>&nbsp;&nbsp;Zmień zdjęcie 6. &nbsp;</span><input type="file" name="up[6]" /></td></tr></table>
</td>
<td><br><input type="submit" name="zmien" value="Zmień" class="przycisk_1" ></td>
</TR>
?>
pobieram z kilku inputow na raz kilka plikow pozniej
<?php
if (is_uploaded_file($_FILES['up']['tmp_name'][4]))
{
$filename = $_FILES['up']['name'][4];
$tmp_filename = $_FILES['up']['tmp_name'][4];
unlink('foto/realizacje/'.$zd_4);
include("fotka.php");
$sql="update realizacje set zd_4='$fotka_up' where id='$id' ";
$result5 = mysql_query($sql);
}
if (is_uploaded_file($_FILES['up']['tmp_name'][5]))
{
$filename = $_FILES['up']['name'][5];
$tmp_filename = $_FILES['up']['tmp_name'][5];
unlink('foto/realizacje/'.$zd_5);
include("fotka.php");
$sql="update realizacje set zd_5='$fotka_up' where id='$id' ";
$result6 = mysql_query($sql);
}
if (is_uploaded_file($_FILES['up']['tmp_name'][6]))
{
$filename = $_FILES['up']['name'][6];
$tmp_filename = $_FILES['up']['tmp_name'][6];
unlink('foto/realizacje/'.$zd_6);
include("fotka.php");
$sql="update realizacje set zd_6='$fotka_up' where id='$id' ";
$result7 = mysql_query($sql);
}
?>
sprawdzam czy z w danym inpucie bylo zaladowane nowe zdjecie. jesli bylo to stare zdjecie usowam a nowe uploaduje i dodaje do bazy danych. Teoretycznie wszystko wyglada oki ale .... gdy uploaduje jedno zdjecie to wszystko gra a gdy chce z kilku imputow na raz uploadowac to uploaduje tylko zdjecie z pierwszego imputa i wstawia je do wsystkich w ktorych byly zmiany. Tak jakbym mogl zapisac tylko jeden plik na raz. co sie dzieje co robie zle questionmark.gif

W pliku fotka.php jest tylko sprawdzanie czy to obraz i zapisywanie na serwerze tzw obsluga zapisu smile.gif
Pomocy co tu jest zle alebo jak to inaczej zrobic
Pozdrawiam
gulldarek
$_FILES['up'][6]['name'] a nie $_FILES['up']['name'][6]
szlogoon
Niestety przy takim zapisie nie dziala wogole tzn nie uploaduje plikow i nie widzi ze byly zmienione
uirapuru
a nie powinieneś dać w formularzu we wszystkich inputach tej samej nazwy z [] na końcu ? wtedy Ci zaladuje pliki do jednej tablicy
szlogoon
no oki ale jak sprawdze ze z danego imputa bylo cos pobrane questionmark.gif jak wtedy napisac to if (is_uploaded_file($_FILES['up']['tmp_name'][0]))questionmark.gif
uirapuru
zrób sobie print_r($_FILE);

bo na mój gust ładujesz wszystko niepotrzebnie w osobne podtablice a potem nie odpowiednio do tego probujesz sie dobrac. bo jesli dobrze kojarze, to bedzie Twoja wygladala tak:

up[4] -> tmpname
up[4] -> filename
up[4] -> error
itd. dla każdego osobnego zdjęcia powinieneś się dostawać mniej więcej tak:

up[numer][tmpname]

a Ty próbujesz się dostać do niej

up[tmpname][numer]

moim zdaniem lepiej jest dodawać wszystko do jednej wspolnej 'up[]' i Twoj sposob wtedy bedzie dzialal, chyba, że bardzo zależy Ci na zaczynaniu tablicy od 4 (nie wiem czemu)
szlogoon
tablica zaczyna sie od 0 ale po koleji....
robie panel admina
musze pobrac 7 zdjec, zdjece glowne i 6 dodatkowych nie jest dla mnie wazna tablica jak dla mnie kazda zmienna moze sie nazywac dowolnie (tak bylo na poczatku zamiast up[] bylo zd_gl, zd_1, ale byl ten sam problem tzn gdy wymieniam jedno zdjecie to sie wymienia a gdy chce wymienic kilka to pierwsze pobrane zdjecie zapisuje sie w kazdym tak jak gdyby pobieralo jeden plik i kozystalo tylko z niego. Co mnie dziwi skrypt wie ze bylo wymienione zdjecie 2 i 5 i 6 ale ale do 5 i 6 wpisuje tez zdjecie 2 zamiast tych ktore podalem tak jakbym do kazdego inputa wlozyl to samo zdjecie.
Twoj sposob z up [] jest dobry ale dziala dokladnie tak samo.Ja juz zglupialem bo na moj prosty rozum wszystko powinno byc oki

jak mozesz napisz mi kod moze ja cos pierdziele
dla up[]

f (is_uploaded_file($_FILES['up']['tmp_name'][6]))
{
$filename = $_FILES['up']['name'][6];
$tmp_filename = $_FILES['up']['tmp_name'][6];
unlink('foto/realizacje/'.$zd_6);
include("fotka.php");
$sql="update realizacje set zd_6='$fotka_up' where id='$id' ";
$result7 = mysql_query($sql);
}
uirapuru
a powiedz jeszcze, czy fizycznie ładuje pliki (czy one się pojawiają w katalogu do którego je ładujesz) ? bo może pliki się ładują, a pojebałeś cos z MYSQLem i skrypt podpina nie te fotki.
szlogoon
uplouduje tylko jedna fotke


wiesz co to i tak jest dziwne bo powinien nawet w takiej sytuacji uploudowac dwa razy to zdjecie tylko pod innymi nazwami
uirapuru
  1. <?php
  2. <tr>
  3. <td td colspan="2" >
  4. <table><tr><td><img src="foto/realizacje/'.$zd_4.'" style="width:70px;height:70px;" /></td>
  5. <td><span class="form_tytuly"><br>&nbsp;&nbsp;ZmieĹ&#8222; zdjÄ™cie 4. &nbsp;</span><input type="file" name="up[]" /></td></tr></table>
  6. </td>
  7. </tr>
  8. <tr>
  9. <td td colspan="2" >
  10. <table><tr><td><img src="foto/realizacje/'.$zd_5.'" style="width:70px;height:70px;" /></td>
  11. <td><span class="form_tytuly"><br>&nbsp;&nbsp;ZmieĹ&#8222; zdjÄ™cie 5. &nbsp;</span><input type="file" name="up[]" /></td></tr></table>
  12. </td>
  13. </tr>
  14. <TR>
  15. <td>
  16. <table>
  17. <tr>
  18. <td>
  19. <img src="foto/realizacje/'.$zd_6.'" style="width:70px;height:70px;" /></td>
  20. <td><span class="form_tytuly"><br>&nbsp;&nbsp;ZmieĹ&#8222; zdjÄ™cie 6. &nbsp;</span><input type="file" name="up[]" /></td></tr></table>
  21. </td>
  22. <td><br><input type="submit" name="zmien" value="Zmień" class="przycisk_1" ></td>
  23. </TR>
  24. ?>


  1. <?php
  2. for($a=4; $a<7; $a++)
  3. {
  4. if (is_uploaded_file($_FILES['up']['tmp_name'][a]))
  5. {
  6. $filename = $_FILES['up']['name'][$a];
  7. $tmp_filename = $_FILES['up']['tmp_name'][$a];
  8.  
  9. unlink('foto/realizacje/'.$zd[$a]);
  10. copy($tmp_filename, $filename);
  11.  
  12. $sql="update realizacje set zd_$a='$fotka_up' where id='$id' ";
  13. $result[$a] = mysql_query($sql);
  14. }
  15. }
  16. ?>


z głowy piszę i nie sprawdzam, ale uderzałbym w te stronę...
szlogoon
Niestety taka sama sytuacja .... ja juz zglupialem ;/
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.