Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> upload dwóch plików do dwóch różnych katalogów, funkcja foreach() dla uploadowanych dwóch plików
mpps
post
Post #1





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 14.03.2003
Skąd: Szczecin

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


Cześć.
Może ktoś z Was będzie tak miły i podpowie jak wykonać upload dwóch plików do dwóch różnych katalogów na serwerze za jednym zamachem?

Nie wiem, czy dobrym rozwiązaniem tutaj jest pętla foreach(), a jeśli tak, to jak rozróżnić w jej tablicy dwa różne elementy, co jest chyba niemożliwe... sam nie wiem (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif)

Z góry dzięki...


  1. <?
  2. if ($admaction == "addfrm_cfm"){
  3. ?>

  1. <FORM METHOD="post" NAME="frm_cfm" ACTION="index.php?admaction=addfrm_cfmok" ENCTYPE="multipart/form-data">
  2. <TR>
  3. <TD>
  4. <INPUT TYPE="text" NAME="id" VALUE="" SIZE="2">
  5. </TD>
  6. </TR>
  7. <TR>
  8. <TD>foto full</TD>
  9. <TD>
  10. <INPUT TYPE="hidden" NAME="MAX_FILE_SIZE" VALUE="5000000">
  11. <INPUT CLASS="formText2" TYPE="file" NAME="foto_full" SIZE="42">
  12. </TD>
  13. </TR>
  14. <TR>
  15. <TD>foto thmb</TD>
  16. <TD>
  17. <INPUT TYPE="hidden" NAME="MAX_FILE_SIZE" VALUE="5000000">
  18. <INPUT CLASS="formText2" TYPE="file" NAME="foto_thmb" SIZE="42">
  19. </TD>
  20. </TR>
  21. <TR>
  22. <TD>
  23. <INPUT TYPE="SUBMIT" NAME="dodaj" VALUE="dodaj"> <INPUT TYPE="button" NAME="powrot" VALUE="powrót">
  24. </TD>
  25. </TR>
  26. </FORM>

  1. <?
  2. }
  3.  
  4. elseif ($admaction == "addfrm_cfmok"){
  5. $plik_katalog_full = "img/fullsize/";
  6. foreach($_FILES as $plik_nazwa_full => $plik_tablica_full){
  7. echo "ścieżka: ".$plik_tablica_full['tmp_name']."<BR>";
  8. echo "nazwa: ".$plik_tablica_full['name']."<BR>";
  9. echo "typ: ".$plik_tablica_full['type']."<BR>";
  10. echo "rozmiar ".$plik_tablica_full['size']."<BR>";
  11.  
  12. if(is_uploaded_file($plik_tablica_full['tmp_name'])){
  13. move_uploaded_file($plik_tablica_full['tmp_name'],
  14. "$plik_katalog_full/$plik_tablica_full[name]") or die ("nie można przenieść pliku");
  15. echo "plik został przeniesiony!<BR><BR>";
  16. }
  17. }
  18.  
  19. /* to, co jest poniżej, mniej więcej tak by miało wyglądać do ładowania drugiego 
    pliku
  20. $plik_katalog_thmb = "img/thumbnails/";
  21. foreach($_FILES as $plik_nazwa_thmb => $plik_tablica_thmb){
  22. echo "ścieżka: ".$plik_tablica_thmb['tmp_name']."<BR>";
  23. echo "nazwa: ".$plik_tablica_thmb['name']."<BR>";
  24. echo "typ: ".$plik_tablica_thmb['type']."<BR>";
  25. echo "rozmiar ".$plik_tablica_thmb['size']."<BR>";
  26.  
  27. if(is_uploaded_file($plik_tablica_thmb['tmp_name'])){
  28. move_uploaded_file($plik_tablica_thmb['tmp_name'],
  29. "$plik_katalog_thmb/$plik_tablica_thmb[name]") or die ("nie można przenieść pliku");
  30. echo "plik został przeniesiony!<BR><BR>";
  31. }
  32. }
  33. */
  34. }
  35. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mpps
post
Post #2





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 14.03.2003
Skąd: Szczecin

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


@Ludvik
Nie za bardzo zrozumiałem Twoją odpowiedź ale postaram się zadać jeszcze dodatkowe pytania lub uszczegółowić:
1. chcę wysłać dwa pliki z dwóch różnych pól formularza, nie pakiet plików z jednego pola (dla pętli foreach() nie ma to chyba większego znaczenia(?)).
2. każdy z plików ma się znaleźć w INNYM katalogu, więc nie można(?) tego załatwić jedną pętlą foreach(), a chcę to wykonać za jednym przejściem. Może nie powinienem tutaj stosować pętli foreach() (a jeśli nie, to jaką zastosować?)?
3. część zakomentowana oczywiście powtarza to, co jest powyżej, i to jest oczywiście błędne, bo jest to powielenie pętli, która została przed chwilą wykonana.
4. Czy istnieje możliwość rozbudowania pętli foreach() tak, aby był możliwy upload za jednym przejściem (mając na uwadze pkt. 2)?

pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 28.12.2025 - 22:21