Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]Pobieranie kilku plikow z kilku input'ow
szlogoon
post 9.05.2009, 11:57:14
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.05.2009

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
gulldarek
post 9.05.2009, 12:10:45
Post #2





Grupa: Zarejestrowani
Postów: 156
Pomógł: 15
Dołączył: 13.09.2003
Skąd: London

Ostrzeżenie: (0%)
-----


$_FILES['up'][6]['name'] a nie $_FILES['up']['name'][6]
Go to the top of the page
+Quote Post
szlogoon
post 9.05.2009, 12:19:08
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.05.2009

Ostrzeżenie: (0%)
-----


Niestety przy takim zapisie nie dziala wogole tzn nie uploaduje plikow i nie widzi ze byly zmienione
Go to the top of the page
+Quote Post
uirapuru
post 9.05.2009, 12:23:15
Post #4





Grupa: Zarejestrowani
Postów: 182
Pomógł: 9
Dołączył: 30.04.2005

Ostrzeżenie: (0%)
-----


a nie powinieneś dać w formularzu we wszystkich inputach tej samej nazwy z [] na końcu ? wtedy Ci zaladuje pliki do jednej tablicy
Go to the top of the page
+Quote Post
szlogoon
post 9.05.2009, 12:25:29
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.05.2009

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
uirapuru
post 9.05.2009, 12:31:05
Post #6





Grupa: Zarejestrowani
Postów: 182
Pomógł: 9
Dołączył: 30.04.2005

Ostrzeżenie: (0%)
-----


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)

Ten post edytował uirapuru 9.05.2009, 12:36:36
Go to the top of the page
+Quote Post
szlogoon
post 9.05.2009, 12:48:13
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.05.2009

Ostrzeżenie: (0%)
-----


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);
}

Ten post edytował szlogoon 9.05.2009, 12:49:58
Go to the top of the page
+Quote Post
uirapuru
post 9.05.2009, 12:52:15
Post #8





Grupa: Zarejestrowani
Postów: 182
Pomógł: 9
Dołączył: 30.04.2005

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
szlogoon
post 9.05.2009, 12:55:37
Post #9





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.05.2009

Ostrzeżenie: (0%)
-----


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

Ten post edytował szlogoon 9.05.2009, 12:57:09
Go to the top of the page
+Quote Post
uirapuru
post 9.05.2009, 12:57:53
Post #10





Grupa: Zarejestrowani
Postów: 182
Pomógł: 9
Dołączył: 30.04.2005

Ostrzeżenie: (0%)
-----


  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ę...
Go to the top of the page
+Quote Post
szlogoon
post 9.05.2009, 13:08:41
Post #11





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.05.2009

Ostrzeżenie: (0%)
-----


Niestety taka sama sytuacja .... ja juz zglupialem ;/
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 10:23