Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][HTML][PHP]Problem z multiple (Przesyłanie obrazków)
imagizer
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 23.03.2013

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


Witam, mam problem z funkcją multiple , a dokładnie to chce aby mi zapisywało X zaznaczonych plików do bazy danych w osobnych wierszach

Funkcja form
  1. <form enctype="multipart/form-data" action="_admin.php?strona=upload&akcja=upload" method="POST">
  2. <input type="hidden" name="MAX_FILE_SIZE" value="500000" />
  3. <input name="plik" multiple type="file" style="margin-top:10px;"/>
  4. <input class="btn" type="submit" style="margin-top:10px;" value="Wyślij plik" />
  5. </form>


oraz zapis,

  1. if($_GET['akcja']=="upload"){
  2. $kategoria = $_POST['kategoria'];
  3. $plik_tmp = $_FILES['plik']['tmp_name'];
  4. $plik_nazwa = $_FILES['plik']['name'];
  5. $plik_rozmiar = $_FILES['plik']['size'];
  6. $dats=date("Y-m-d");
  7. $nazwapliku=''.$dats.'-'.$plik_nazwa.'';
  8.  
  9.  
  10. if(is_uploaded_file($plik_tmp)) {
  11. pytanie_mysql("INSERT INTO obrazki (link,nazwa,kategoria) VALUES('upload/$nazwapliku','$nazwapliku','$kategoria')");
  12.  
  13. move_uploaded_file($plik_tmp, "upload/$nazwapliku");
  14. echo '<div class="komunikat">
  15. <img src="upload/'.$nazwapliku.'" height="40" width="40" align="right">
  16. Dodano plik: <strong>'.$nazwapliku.'</strong><br>
  17. o rozmiarze <strong>'.$plik_rozmiar.' bajtów</strong>
  18. </div>
  19.  
  20. ';
  21. }
  22. }


Programuje od niedawna, męczę się z tym i męczę i nich nie wchodzi,, prosiłbym o pomoc.
Dzięki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Polecam herbatkę ziołową, bo coś za szybko klikasz na "Dodaj odpowiedź" (IMG:style_emoticons/default/smile.gif)
Po za tym, nie słuchasz (nie czytasz), co się do Ciebie pisze.
  1. if(isset($_FILES['plik'])) {
  2. $errors = array();
  3. foreach($_FILES['plik']['tmp_name'] as $key => $tmp_name ) {
  4. $kategoria = $_POST['kategoria'];
  5. $plik_nazwa = $dats.'-'.$_FILES['plik']['name'][$key];
  6. $plik_rozmiar = $_FILES['plik']['size'][$key];
  7. $plik_tmp = $_FILES['plik']['tmp_name'][$key];
  8. $file_type = $_FILES['plik']['type'][$key];
  9. if($plik_rozmiar > 5000000) {
  10. $errors[] = 'Do 5 MB';
  11. }
  12. $query = "INSERT INTO obrazki (`link`, `nazwa`, `kategoria`) VALUES('upload/$plik_nazwa', '$plik_nazwa', '$kategoria'); ";
  13. echo $query.'<br />';
  14. $desired_dir = "upload";
  15. if(empty($errors) == true) {
  16. if(is_dir($desired_dir) == false) {
  17. mkdir("$desired_dir", 0700);
  18. }
  19. if(is_dir("$desired_dir/".$plik_nazwa) == false) {
  20. move_uploaded_file($plik_tmp, "upload/".$plik_nazwa);
  21. } else {
  22. $new_dir="upload/".$plik_nazwa.time();
  23. rename($plik_tmp, $new_dir);
  24. }
  25. mysql_query($query);
  26. } else {
  27. print_r($errors);
  28. }
  29. }
  30. if(empty($error)) {
  31. echo "SUKCES !";
  32. }
  33. }
  34. ?>
  35. <form action="grafikiDoBazy.php" method="POST" enctype="multipart/form-data" >
  36. <input type="file" name="plik[]" multiple/>
  37. <input class="btn" type="submit" style="margin-top: 10px;" value="Wyślij plik" />
  38. </form>


Nie bawiłem się z kategorią, ale chcąc dodawać różne kategorie dla grafik, również trzeba przekazać ją jako tablicę i KONIECZNIE z indeksem. Inaczej pętla będzie wyrzucać Array.
Go to the top of the page
+Quote Post

Posty w temacie
- imagizer   [MySQL][HTML][PHP]Problem z multiple (Przesyłanie obrazków)   13.02.2014, 08:13:11
- - nospor   Jak chcesz miec multiple, to nazwa ma byc tablicow...   13.02.2014, 08:18:45
- - imagizer   Próbowałem na kilka sposobów, i dalej nic:/ przyda...   13.02.2014, 08:56:03
- - Turson   W formularzu jak nospor powiedział, a jak odbieras...   13.02.2014, 12:36:42
- - imagizer   Sprawdzałem i wyświetla mi tablice poprawnie, ale ...   13.02.2014, 14:05:53
- - Turson   [PHP] pobierz, plaintext foreach($_FILES['...   13.02.2014, 14:09:43
- - imagizer   Turson, znów próbowałem kilku sposobów i nic robią...   13.02.2014, 16:33:13
- - Turson   To jest powodem [PHP] pobierz, plaintext $plik_tmp...   13.02.2014, 17:39:12
- - imagizer   Probowałem na ten sposób, i ten oraz na wiele inny...   13.02.2014, 18:08:15
- - Turson   [PHP] pobierz, plaintext foreach($_FILES['...   13.02.2014, 18:45:25
- - imagizer   Turson, próbowałem,, aczkolwiek wtedy nie przypisu...   13.02.2014, 19:22:52
- - Kshyhoo   Bo nazwa powinna składać się z przedrostka i indek...   13.02.2014, 19:37:57
- - imagizer   Niestety nie działa;/   13.02.2014, 19:46:24
- - Kshyhoo   Wklej cały kod, łącznie z formularzem.   13.02.2014, 20:08:33
- - imagizer   Formularz masz u góry, kod to ten który turson nap...   13.02.2014, 20:17:12
- - Kshyhoo   A pytanie_mysql to jakaś funkcja?   13.02.2014, 20:24:36
- - Turson   Zgaduję, że tutaj [PHP] pobierz, plaintext $nazwap...   13.02.2014, 20:24:57
- - imagizer   Turson sprawdzałem, i nic. Tam zapytanie_mysql to ...   13.02.2014, 20:45:13
- - Kshyhoo   Polecam herbatkę ziołową, bo coś za szybko klikasz...   13.02.2014, 22:46:26


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: 10.10.2025 - 11:06