Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: dodawanie wielu zdjec i tworzenie miniatur
Forum PHP.pl > Forum > Przedszkole
podziak
witam
mam taki skrypt i nie wiem jak zrobic aby uploadowal drugi plik

  1. <?php
  2.  
  3. if($send=='Wyslij') {
  4.  
  5. $strUploadDir = 'foto/' . $_FILES['plik']['name'];
  6. $strUploadDir2 = 'foto/th_' . $_FILES['plik']['name'];
  7. $strUploadDir3 = 'foto/th2_' . $_FILES['plik']['name'];
  8. move_uploaded_file( $_FILES['plik']['tmp_name'], $strUploadDir );
  9.  
  10.  echo 'Plik zosta³ pomy¶lnie uploadowany! <br />';
  11.  echo 'Dodatkowe informacje o uploadowanym pliku: <pre>' . print_r( $_FILES, true ) . '</pre>';
  12.  
  13. function create_thumb_wfixed($file_name_src, $file_name_dest, $weight,$quality=100)
  14. {
  15.  if (file_exists($file_name_src) && isset($file_name_dest))
  16.  {
  17.  $est_src = pathinfo(strtolower($file_name_src));
  18.  $est_dest = pathinfo(strtolower($file_name_dest));
  19.  $size = getimagesize($file_name_src);
  20.  $w = number_format($weight, 0, ',', '');
  21.  $h = number_format(($size[1]/$size[0])*$weight,0,',','');
  22.  
  23.  if ($est_dest['extension'] == "gif" || $est_dest['extension'] == "jpg")
  24.  {
  25.  $file_name_dest = substr_replace($file_name_dest, 'jpg', -3);
  26.  $dest = imagecreatetruecolor($w, $h);
  27.  //imageantialias($dest, TRUE);
  28.  } elseif ($est_dest['extension'] == "png")
  29.  {
  30.  $dest = imagecreatetruecolor($w, $h);
  31.  //imageantialias($dest, TRUE);
  32.  } else
  33.  {
  34. return FALSE;
  35.  }
  36.  
  37.  switch($size[2])
  38.  {
  39.  case 1:  //GIF
  40.  $src = imagecreatefromgif($file_name_src);
  41.  break;
  42.  case 2:  //JPEG
  43.  $src = imagecreatefromjpeg($file_name_src);
  44.  break;
  45.  case 3:  //PNG
  46.  $src = imagecreatefrompng($file_name_src);
  47.  break;
  48.  default:
  49.  return FALSE;
  50.  break;
  51.  }
  52.  imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $h, $size[0], $size[1]);
  53.  
  54.  switch($size[2])
  55.  {
  56.  case 1:
  57. imagegif($dest,$file_name_dest);
  58.  case 2:
  59.  imagejpeg($dest,$file_name_dest, $quality);
  60.  break;
  61.  case 3:
  62.  imagepng($dest,$file_name_dest);
  63.  }
  64.  return TRUE;
  65.  }
  66.  return FALSE;
  67. }
  68.  
  69.  
  70.  
  71. create_thumb_wfixed($strUploadDir, $strUploadDir, $weight=500,$quality=90);
  72. create_thumb_wfixed($strUploadDir, $strUploadDir2, $weight=250,$quality=90);
  73. create_thumb_wfixed($strUploadDir, $strUploadDir3, $weight=80,$quality=90);
  74.  
  75. echo'<img src="'.$strUploadDir.'" alt=""><br><img src="'.$strUploadDir2.'" alt=""><br><img src="'.$strUploadDir3.'" alt="">';
  76.  
  77. } else {
  78. $rodzaj=1;
  79. echo"<form enctype=\"multipart/form-data\" method=\"post\" action=\"?send=Wyslij\">";
  80. if($rodzaj=="1") {
  81. for($i=1; $i<3; $i++) {
  82. echo "<TR>
  83. <TD class=tekst></TD>
  84. <TD>
  85. <input type=hidden name=MAX_FILE_SIZE value=300000>
  86. <input name=plik".$i." type=file class=formularz>
  87. </TD>
  88. </TR>";
  89. }
  90. }
  91. if($rodzaj=="2") {
  92. for($i=1; $i<7; $i++) {
  93. echo " <TR>
  94. <TD class=tekst></TD>
  95. <TD>
  96. <input type=hidden name=MAX_FILE_SIZE value=300000>
  97. <input name=plik".$i." type=file class=formularz>
  98. </TD>
  99. </TR>";
  100. }
  101. }
  102. if($rodzaj=="3") {
  103. for($i=1; $i<11; $i++) {
  104. echo " <TR>
  105. <TD class=tekst></TD>
  106. <TD>
  107. <input type=hidden name=MAX_FILE_SIZE value=300000>
  108. <input name=plik".$i." type=file class=formularz>
  109. </TD>
  110. </TR>";
  111. }
  112. }
  113.  
  114.  
  115. echo "<br><input type=\"submit\" value=\"Wyslij\" name=\"send\"><input type=\"reset\" value=\"Kasuj\" name=\"B2\"></form>";
  116. }
  117.  
  118. ?>
nospor
jaki drugi? bo ja widze ze w zaleznosci od rodzaju to tych plikow masz albo 2, albo 6 albo 10.
O ile w przypadku $rodzaj=2 i 3 kolejnym inputom nadajesz nazwy plik1,plik2,...
to w przypadku $rodzaj=1 ciagle nadajesz nazwê plik, kazdy kolejny taki input bedzie ci nadpisywal poprzedni.

Co do uploadu. Musisz poprostu dobierac sie do kazdego inputa i z niego robic upload. $_FILES['plik1'], $_FILES['plik2']...
Tak jak to robiles dla $_FILES['plik']

ps: i popraw tytul. "Problem ze skryptem" nic nie wnosi do tematu...
podziak
no i wlasnie mam problem jak zrobic petle aby nie przepisywac za kazdym razem tego samego kodu czy moze ktos pomoc questionmark.gif
nospor
na takiej samej zasadzie masz to zrobic, co tworzysz te inputy...Widac ze to nie twoje cudo...
  1. <?php
  2.  
  3. for ($i=1; $i<$ilosc;$i++){
  4. $strUploadDir = 'foto/' . $_FILES['plik'.$i]['name'];
  5. $strUploadDir2 = 'foto/th_' . $_FILES['plik'.$i]['name'];
  6. $strUploadDir3 = 'foto/th2_' . $_FILES['plik'.$i]['name'];
  7. move_uploaded_file( $_FILES['plik'.$i]['tmp_name'], $strUploadDir );
  8. }
  9.  
  10. ?>
podziak
no podobnie myslalem tylko ze po przetestowaniu instrukcji jest tak
dla 2 obrazkow
pierwszy obrazek dodaje ale nie robi miniaturek a dla drugiego elegancko robi miniaturki...
nospor
o rety... to we¼ jeszcze w tê pêtle wsad¼ robienie tych miniaturek.... to te trzy wywolania funckji pare linijek nizej... troche samodzielnosci
podziak
no wlasnie jest lipa sam sobie sprawdz bo pokazuje mi blad funkcji

nawet wizalem funkcje w petle i to samo
nospor
Cytat
nawet wizalem funkcje w petle i to samo
yyyy... tego nie wolno robic winksmiley.jpg funkcje deklaruje sie tylko raz

  1. <?php
  2.  
  3. function create_thumb_wfixed($file_name_src, $file_name_dest, $weight,$quality=100)
  4.     {
  5.        if (file_exists($file_name_src)  && isset($file_name_dest))
  6.        {
  7.            $est_src = pathinfo(strtolower($file_name_src));
  8.            $est_dest = pathinfo(strtolower($file_name_dest));
  9.            $size = getimagesize($file_name_src);
  10.            $w = number_format($weight, 0, ',', '');
  11.            $h = number_format(($size[1]/$size[0])*$weight,0,',','');
  12.  
  13.            if ($est_dest['extension'] == "gif" || $est_dest['extension'] == "jpg")
  14.            {
  15.                $file_name_dest = substr_replace($file_name_dest, 'jpg', -3);
  16.                $dest = imagecreatetruecolor($w, $h);
  17.                //imageantialias($dest, TRUE);
  18.            } elseif ($est_dest['extension'] == "png")
  19.            {
  20.                $dest = imagecreatetruecolor($w, $h);
  21.                //imageantialias($dest, TRUE);
  22.            } else
  23.            {
  24.               return FALSE;
  25.            }
  26.  
  27.            switch($size[2])
  28.            {
  29.            case 1:       //GIF
  30.                $src = imagecreatefromgif($file_name_src);
  31.                break;
  32.            case 2:       //JPEG
  33.                $src = imagecreatefromjpeg($file_name_src);
  34.                break;
  35.            case 3:       //PNG
  36.                $src = imagecreatefrompng($file_name_src);
  37.                break;
  38.            default:
  39.                return FALSE;
  40.                break;
  41.            }
  42.            imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $h, $size[0], $size[1]);
  43.  
  44.            switch($size[2])
  45.            {
  46.            case 1:
  47.                   imagegif($dest,$file_name_dest);
  48.            case 2:
  49.                imagejpeg($dest,$file_name_dest, $quality);
  50.                break;
  51.            case 3:
  52.                imagepng($dest,$file_name_dest);
  53.            }
  54.            return TRUE;
  55.        }
  56.        return FALSE;
  57.     }
  58.  
  59. for ($i=1; $i<$ilosc;$i++){
  60. $strUploadDir = 'foto/' . $_FILES['plik'.$i]['name'];
  61. $strUploadDir2 = 'foto/th_' . $_FILES['plik'.$i]['name'];
  62. $strUploadDir3 = 'foto/th2_' . $_FILES['plik'.$i]['name'];
  63. move_uploaded_file( $_FILES['plik'.$i]['tmp_name'], $strUploadDir );
  64.  
  65. create_thumb_wfixed($strUploadDir, $strUploadDir, $weight=500,$quality=90);
  66. create_thumb_wfixed($strUploadDir, $strUploadDir2, $weight=250,$quality=90);
  67. create_thumb_wfixed($strUploadDir, $strUploadDir3, $weight=80,$quality=90);
  68. }
  69.  
  70. ?>


a na przyszlosc jak dostajesz errory, to podaj je dokladnie, a nie opisujesz po swojemu
podziak
ok co do errorow racja nie pokazalem bledow... wiecej sie nie powtorzy
dzieki...

teraz mam takie cus.
Chce to wrzucac do bazy
i chcialbym aby zmiennej $plik1 przypisywalo odpowiednia nazwe zdjecia

nadal kombinuje i znow mam metlik w glowie

jak zrobic

aby w petli zapisywalo dla zmiennej plik1 odpowiednia nazwe a dla zmiennej plik2 ... itd...

bo chcialem zrobic tak aby w zaleznosci od parametru ale to chyba glupie rozwiazanie bo i tak mam 10 miejsc wiec w puste miejsca by musialo wstawiac puste wartosci w tabeli bazy

i kombinuje jakie tu rozwiazanie zrobic
bo chyba nie da sie zapisac tak $plik.$i=$strUploadDir;

bede wdzieczny jak mozna taki zapis wprowadzic
nospor
http://pl.php.net/manual/pl/language.variables.variable.php

  1. <?php
  2.  
  3. ${'plik'.$i} = $strUploadDir;
  4.  
  5. ?>


ps: zawsze tez mozna u¿yc tablic winksmiley.jpg
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.