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

Posty w temacie


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: 20.08.2025 - 00:03