Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Upload, ale masowy
in5ane
post 6.04.2007, 12:57:52
Post #1





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

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


Witam, jak przerobić ten kody by można było masowo dodawać np. 5 plików?

Z góry dziękuję za pomoc smile.gif

  1. <?php
  2. if (isset($_FILES['Plik']))
  3. {
  4. preg_match("'(.*).(.*)$'i", $_FILES['Plik']['name'], $ext);
  5. if (!empty($ext[2]))
  6. {
  7. $exts=strtolower($ext[2]);
  8. if ($exts == "gif" || $exts == "jpg" || $exts == "png")
  9. {
  10. $new_name = date(dmy_His);
  11. $kr = ".";
  12. if (move_uploaded_file($_FILES['Plik']['tmp_name'],'./fotki/'.''.$new_name.''.''.$kr.''.''.$exts.''))
  13. {
  14.  echo('Plik został przesłany prawidłowo.');
  15.  }
  16.  else
  17.  {
  18.  switch($_FILES['Plik']['error'])
  19. {
  20. case 1: echo('Przesyłany plik jest większy niż zezwala konfiguracja serwera.');break;
  21. case 2: echo('Przesyłany plik jest większy niż zezwala formularz.');break;
  22. case 3: echo('Przesłano tylko część pliku.');break;
  23. case 4: echo('Plik nie został przesłany');break;
  24. }
  25.  }
  26. }
  27. else
  28. {
  29. echo('Przesyłany plik nie jest plikiem graficznym');
  30. }
  31. }
  32. }
  33. ?>
  34.  
  35. <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data">
  36. <input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
  37. <input type="file" name="Plik"><input type="submit" value="Wyslij" />
  38. </form>


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
crash
post 6.04.2007, 13:04:21
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


  1. <?php
  2.  
  3. if (isset($_FILES['Plik']))
  4. {
  5.  foreach( $_FILES['Plik'] as $plik )
  6.  {
  7. preg_match("'(.*).(.*)$'i", $plik['name'], $ext);
  8. if (!empty($ext[2]))
  9. {
  10. $exts=strtolower($ext[2]);
  11. if ($exts == "gif" || $exts == "jpg" || $exts == "png")
  12. {
  13. $new_name = date(dmy_His);
  14. $kr = ".";
  15. if (move_uploaded_file($plik['tmp_name'],'./fotki/'.''.$new_name.''.''.$kr.''.''.$exts.''))
  16. {
  17.  echo('Plik został przesłany prawidłowo.');
  18.  }
  19.  else
  20.  {
  21.  switch($plik['error'])
  22. {
  23. case 1: echo('Przesyłany plik jest większy niż zezwala konfiguracja serwera.');break;
  24. case 2: echo('Przesyłany plik jest większy niż zezwala formularz.');break;
  25. case 3: echo('Przesłano tylko część pliku.');break;
  26. case 4: echo('Plik nie został przesłany');break;
  27. }
  28.  }
  29. }
  30. else
  31. {
  32.  echo('Przesyłany plik nie jest plikiem graficznym');
  33. }
  34. }
  35.  }
  36. }
  37. ?>
  38.  
  39. <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data">
  40. <input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
  41. <input type="file" name="Plik[]"><br/>
  42. <input type="file" name="Plik[]"><br/>
  43. <input type="file" name="Plik[]"><br/>
  44. <input type="file" name="Plik[]"><br/>
  45. <input type="file" name="Plik[]"><br/>
  46. <input type="submit" value="Wyslij" />
  47. </form>


Ten post edytował crash 6.04.2007, 13:04:44


--------------------
Go to the top of the page
+Quote Post
in5ane
post 6.04.2007, 13:31:57
Post #3





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

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


nie zadzialalo.

poprostu naciskam wyslij i nie wysyla. skrypt tak jakby stoi w miejscu.


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
Misio311
post 8.04.2007, 16:19:20
Post #4





Grupa: Zarejestrowani
Postów: 21
Pomógł: 2
Dołączył: 15.08.2006
Skąd: ZmC

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


Potwierdzam, nie działa sad.gif
Go to the top of the page
+Quote Post
Cienki1980
post 8.04.2007, 17:23:22
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Tak nie działa z dwóch powodów:
1. Nie działa wyrażenie regularne - nie wiem jak poprawić bo w wyrażeniach zawsze byłem noga biggrin.gif
2. Pętla jest źle skonstruowana. Aby dowiedzieć się jak poprawnie stworzyć pętle do obsługi tego uploada wystarczy wyświetlić tablice $_FILES

  1. <?php
  2. echo "<pre>";print_r($_FILES["Plik"]);echo "</pre>";
  3. ?>


Po tym wszystko powinno być jasne, jak zbudować pętlę.


--------------------
404
Go to the top of the page
+Quote Post
Kicok
post 8.04.2007, 19:22:21
Post #6





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Wyrażenie regularne nie działa, bo nie ma znaku ucieczki przed kropką (więc oznacza ona dowolny znak).

Do odczytywania rozszerzenia pliku można też użyć: pathinfo" title="Zobacz w manualu PHP" target="_manual


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
Misio311
post 8.04.2007, 20:54:46
Post #7





Grupa: Zarejestrowani
Postów: 21
Pomógł: 2
Dołączył: 15.08.2006
Skąd: ZmC

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


Plik formularz.html

  1. <form action="#" method="POST" enctype="multipart/form-data">
  2. Plik: <input type="file" name="file[]"><br>
  3. Plik-2: <input type="file" name="file[]"><br>
  4. Plik-3: <input type="file" name="file[]"><br>
  5. <input type="submit" value="Wyślij">
  6. </form>
  7. </body>
  8. </html>


Plik upload.php

  1. <?
  2. $katalog = "galeria";
  3. $dokad = $katalog."/"; 
  4. while (list ($kt) = each ($_FILES['file']['tmp_name']))
  5.  {
  6.  
  7. if (move_uploaded_file($_FILES['file']['tmp_name'][$kt], $dokad . $_FILES['file']['name'][$kt])) {
  8. print "Wysłano<br>";
  9. } else {
  10. print "Nie wysłano<br>";
  11. }
  12.  
  13. }
  14. ?>


smile.gif Pozdrawiam

Ten post edytował Misio311 8.04.2007, 21:37:03
Go to the top of the page
+Quote Post
in5ane
post 9.04.2007, 07:32:30
Post #8





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

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


a chcialbym zeby nazwa byla tak tworzona
  1. <?php
  2. srand((double)microtime()*1000000);
  3. $nazwa = md5(uniqid(rand()));
  4. ?>


mozna to tak zmienic?
i zabezpieczyc na rozszezenia.

Kod
Warning: Variable passed to each() is not an array or object in C:\AppServ\www\upload\upload.php on line 16


to jest linijka z whilem ale takto uploaduje.


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
Misio311
post 1.07.2007, 23:46:42
Post #9





Grupa: Zarejestrowani
Postów: 21
Pomógł: 2
Dołączył: 15.08.2006
Skąd: ZmC

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


  1. <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data">
  2. Zdjęcie 1
  3. <input type="file" name="Plik[]"><br>
  4. Zdjęcie 2
  5. <input type="file" name="Plik[]"><br>
  6. Zdjęcie 3
  7. <input type="file" name="Plik[]"><br>
  8. Zdjęcie 4
  9. <input type="file" name="Plik[]"><br>
  10. Zdjęcie 5
  11. <input type="file" name="Plik[]"><br>
  12. Zdjęcie 6
  13. <input type="file" name="Plik[]"></p>
  14. <br>
  15. <input type="submit" value="Wyslij" />


  1. <?php
  2. $katalog = "podania";
  3. if (isset($_FILES['Plik'])) {
  4.  $cnt=count($_FILES["Plik"]["name"]);
  5.  for($i=0;$i<$cnt;$i++) 
  6. {
  7. if($_FILES["Plik"]["name"][$i]!='' && $_FILES["Plik"]["size"][$i]>0) {
  8. $exts=strtolower(substr($_FILES["Plik"]["name"][$i],-3));
  9. if ($exts == "gif" || $exts == "jpg" || $exts == "png"){
  10. srand((double)microtime()*1000000);
  11. $kr = ".";
  12. $nazwa = md5(uniqid(rand()));
  13. if (move_uploaded_file($_FILES["Plik"]["tmp_name"][$i],"$katalog/".''.$nazwa.''.''.$kr.''.''.$exts.'')) 
  14. {
  15.  print "Wysłano<br>";
  16. } else {
  17. print "Nie wysłano<br>";
  18. }
  19.  } else {
  20.  echo('Przesyłany plik nie jest plikiem graficznym.<br>'); } 
  21. } } } 
  22.  
  23. ?>


Ten post edytował Misio311 2.07.2007, 00:15:17
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: 26.04.2024 - 20:46