Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Upload wielu plików + dodawanie do bazy
Krkol
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 9.03.2018

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


Witam.
Od paru godzin głowię się nad stworzeniem skryptu, który prześle kilka plików na serwer oraz zapisze do bazy informacje o nich.

Formularz:
  1. <form method="POST" name="add" action="add.php" enctype="multipart/form-data" accept="jpg, jpeg, png, gif">
  2. <tr>
  3. <td>
  4. <input type="text" name="tytul" placeholder="Tytuł">
  5. </td>
  6. </tr>
  7. <tr>
  8. <td>
  9. Zdjęcie główne
  10. </td>
  11. <td>
  12. <input type="file" name="obraz-glowny" />
  13. </td>
  14. </tr>
  15. <tr>
  16. <td>
  17. Zdjęcia do galerii
  18. </td>
  19. <td>
  20. <input type="file" name="file[]" multiple="multiple" />
  21. </td>
  22. </tr>
  23. <tr>
  24. <td>
  25. <input type="submit" name="submit" value="Wyślij">
  26. </td>
  27. </tr>
  28. </table>
  29. </form>


Tu sprawa jest prosta... Zdjęcie główne ładnie się uploaduje i zapisuje do bazy. Problem jest, gdy chcę wrzucić kilka zdjęć przez "Zdjęcia do galerii".
Skrypt obsługujący wysyłkę:

  1. function losuj () {
  2. $znaki = "ABCDEFGHIJKLMNPQRSTUVWXYZ123456789";
  3. $i3 = 0;
  4. while ($i3 <= 25) {
  5. $numer3 = rand() % 33;
  6. $tmp3 = substr($znaki, $numer3, 1);
  7. $haslo3 = $haslo3 . $tmp3;
  8. $i3++;
  9. }
  10. return $haslo3;
  11. }
  12.  
  13. foreach ($_FILES['file']['name'] as $filename) {
  14.  
  15. $nazwa2 = explode( '/' , $filename );
  16. $ile2 = count( $nazwa2 );
  17. $rozszerzenie2 = $nazwa2[$ile2-1];
  18.  
  19. losuj ();
  20.  
  21. $filename = $haslo3 . '.' . $rozszerzenie2;
  22. move_uploaded_file($filename, $_SERVER['DOCUMENT_ROOT'] . 'uploads/' . $haslo2 . '/' . $filename);
  23.  
  24. mysql_query("INSERT INTO `images` (`dir`, `url`)
  25. VALUES ('".$haslo2."', '".$filename."');");
  26. }


Skrypt tworzy losową nazwę katalogu ($haslo2) i tam uploaduje wszystkie obrazy. Zmienna $haslo3 to kolejny losowy ciąg znaków, który ma być nazwą pliku. Problem w tym, że do bazy dodaje się wszystko z wyjątkiem `url` - czyli nazwą pliku. Dodaje się samo rozszerzenie. Podejrzewam, że funkcja losuj() nie zwraca mi $haslo3, tylko nie wiem dlaczego :/

Ten post edytował Krkol 2.05.2018, 16:59:48
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


No i te "lekko poprawić". Raczej zaorać jak już sam wspomniałeś.

jest tyle tam rzeczy do których można by się przyczepić aż mi się nie chce. Ja rozumiem chęć niesienia pomocy ale bądźmy ludź sukcesu a nie bylejakości (IMG:style_emoticons/default/wink.gif)
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: 10.10.2025 - 06:07