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:
<form method="POST" name="add" action="add.php" enctype="multipart/form-data" accept="jpg, jpeg, png, gif"> <table> <tr> <td> <input type="text" name="tytul" placeholder="Tytuł"> </td> </tr> <tr> <td> Zdjęcie główne </td> <td> <input type="file" name="obraz-glowny" /> </td> </tr> <tr> <td> Zdjęcia do galerii </td> <td> <input type="file" name="file[]" multiple="multiple" /> </td> </tr> <tr> <td> <input type="submit" name="submit" value="Wyślij"> </td> </tr> </table> </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ę:
function losuj () { $znaki = "ABCDEFGHIJKLMNPQRSTUVWXYZ123456789"; $i3 = 0; while ($i3 <= 25) { $haslo3 = $haslo3 . $tmp3; $i3++; } return $haslo3; } foreach ($_FILES['file']['name'] as $filename) { $rozszerzenie2 = $nazwa2[$ile2-1]; losuj (); $filename = $haslo3 . '.' . $rozszerzenie2; VALUES ('".$haslo2."', '".$filename."');"); }
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 :/