Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dodawanie wielu zdjec i tworzenie miniatur
podziak
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 10.09.2005

Ostrzeżenie: (20%)
X----


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. ?>


Ten post edytował podziak 15.02.2006, 12:15:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
podziak
post
Post #3





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 10.09.2005

Ostrzeżenie: (20%)
X----


no i wlasnie mam problem jak zrobic petle aby nie przepisywac za kazdym razem tego samego kodu czy moze ktos pomoc questionmark.gif
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
podziak
post
Post #5





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 10.09.2005

Ostrzeżenie: (20%)
X----


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...
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




o rety... to weź jeszcze w tę pętle wsadź robienie tych miniaturek.... to te trzy wywolania funckji pare linijek nizej... troche samodzielnosci


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
podziak
post
Post #7





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 10.09.2005

Ostrzeżenie: (20%)
X----


no wlasnie jest lipa sam sobie sprawdz bo pokazuje mi blad funkcji

nawet wizalem funkcje w petle i to samo
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
podziak
post
Post #9





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 10.09.2005

Ostrzeżenie: (20%)
X----


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
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Aktualny czas: 19.08.2025 - 05:05