Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][HTML][PHP]Selektor Pliku
Forum PHP.pl > Forum > Przedszkole
ross86
Witam,
Mam pewien problem, mianowicie na przykładzie księgarni internetowej. Chciałbym dodać do bazy jakąś nową pozycję no i wszystkie dane ładnie mi się zapisują w mojej bazie, jednak nie wiem jak zapisać zdjęcie okładki, chodzi mi raczej o to że mam zdjęcie na dysku i przez ścieżkę do pliku. czyli <input type="file" name="obrazek" /> w ten sposób wybieram sobie tą ścieżkę, następnie chciałbym żeby ta ścieżka zapisała się do jakiejś zmiennej którą mógłbym umieścić w bazie danych. Wtedy gdy kliknę na wybraną pozycje załaduję mi się adres z bazy danych i wyświetli obrazek. Nie wiem czy ja dobrze kombinuję, czy może robi się to w inny sposób. Byłbym bardzo wdzięczny za jakąś pomoc smile.gif Pozdrawiam.
Age1869
Ja bym zrobił wgrywanie do jednego określonego folderu i do tego jeżeli plik o takiej nazwie nie występuje to zostawił ją, inaczej zmienił. A w bazie trzymał całą ściężkę do pliku smile.gif
ross86
tylko mi dokładni chodzi o to jak zapisać tą ścieżkę do bazy, bo jak wysyłam formularz metoda Post i w pliku php zapisuję podane informacje do odpowiednich zmiennych czyli tytuł do zmiennej $tytuł itd, a następnie te zmienne zapisuje w bazie, a jak wysyłam <input type="file" name="obrazek" /> w ten sposób obrazek i następnie zapisuję go $obrazek = $_POST['obrazek']; to nie zapisuję mi się pod zmienną obrazek ścieżka i w sumie na resztę chyba mam pomysł, głownie chodzi mi o to żeby do tej zmiennej zapisała się ścieżka do zdjęcia. Tylko jak to zrobić tongue.gif
Age1869
Jak wgrywasz zdjęcie to masz przecież ustawioną ścieżkę, gdzie się ma zapisać, prawda? Wtedy do bazy wystarczyło by przecież dodawać $adres = $sciezka; $adres .= $nazwa;
ross86
hmm nie bardzo rozumie, ja mam to zdjęcie na dysku, klikam na stronie wybierz zdjęcie i sobie je wybieram, i potem klikam wyślij formularz, przechodzę do pliku php, gdzie podane dane w formularzu są zapisywane w bazie danych, jednak ścieżka którą podałem wybierając zdjęcie, nie zapisuje mi się.

  1.  
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  3. <link rel="stylesheet" href="style.css" type="text/css" />
  4. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  5.  
  6. <title>Dodaj_Ksiazke </title>
  7. </head>
  8. <form action = "dodaj_ksiazke.php" method = "post" enctype="text/plain">
  9. <br> <label for="tytul">Tytuł:</label><input type="text" name="tytul" /><br>
  10. <label for="rezyser">Autor:</label><input type="text" name="autor" /><br>
  11. <label for="opis">Opis:</label><textarea name="opis" rows="7" cols="17" ></textarea><br>
  12.  
  13.  
  14. <label for="cena">Cena:</label><input type="text" name="cena" <br><br>
  15. <b>Obrazek:</b> <input type="file" name="obrazek" /><br>
  16. <input type = "submit" value = "wyslij">
  17. <input type="reset" value="wyczyść" />
  18.  
  19. </form>
  20.  
  21.  
  22. </body>
  23. </html>
  24.  



no i dalej mam plik php dodaj_ksiazke.php
  1.  
  2. <?php
  3.  
  4.  
  5.  
  6.  
  7. $baza = mysql_connect('localhost', 'root', '')
  8. or die('Could not connect: ' . mysql_error());
  9.  
  10. mysql_select_db('sklep') or die('Could not select database');
  11. {
  12.  
  13. mysql_query("SET NAMES 'utf8'");
  14.  
  15. $tytul = $_POST['tytul'];
  16. $autor = $_POST['autor'];
  17. $opis = $_POST['opis'];
  18. $cena = $_POST['cena'];
  19. $obrazek = $_POST['obrazek'];
  20. $sql = "INSERT INTO film (Tytul,Autor,Opis,Cena,Obrazek)
  21. VALUES ('$tytul','$autor','$opis','$cena','$obrazek')";
  22. $rezultat = mysql_query($sql, $baza) or die(mysql_error());
  23.  
  24. echo("Dodano ksiazke do Bazy danych");
  25. mysql_close($baza);
  26.  
  27. ?>



Wszystko mi tu ładnie działa tylko chciałbym żeby do zmiennej $obrazek zapisała mi się ścieżka do tego obrazka smile.gif
Korab
Do plików używasz nie $_POST. a $_FILES. $_FILES['obrazek']['name'] - tutaj masz nazwę wysyłanego pliku.
Poczytaj o uploadzie plików na serwer w PHP, i pamiętaj, żeby do formularza dodać koniecznie
Kod
enctype="multipart/form-data"

Ścieżkę do pliku powinieneś znać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.