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
Ludvik
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

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


Problem rozwiązany, ale masz błędy w kodzie:
  1. <?php
  2. $_FILES[foto_full]['tmp_name']
  3. ?>

zamiast
  1. <?php
  2. $_FILES['foto_full']['tmp_name']
  3. ?>

Jeszcze odpowiem na twoje pytania, jako że nie miałem czasu wcześniej zaglądać na forum
Cytat
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(?)).

Z jednego pola mozna wysłać tylko jeden plik. Mozna natomiast stworzyć tablicę z kilku pól.
Cytat
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ć?)?

Można załatwić to pętlą, ale sam już doszedłeś do tego, że to za dużo kombinowania (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Na pozostałe dwa pytania raczej nie ma potrzeby odpowiadania. Nie zrozumiałeś mojego postu, bo był trochę skrótowo napsany, ale napisałeś to o co mi chodziło (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował Ludvik 6.07.2006, 13:31:06
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: 26.12.2025 - 18:29