Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Formularz dodawania zdjęcia i jego opisu
Forum PHP.pl > Forum > Przedszkole
Jamesss
Witam
Mam pewien problem. Chcę stworzyć formularz dodawania zdjęcia i opisu do tego zdjęcia.

Dane które chciałbym zapisać do pliku zdj.txt to opis zdjęcia i ścieżka do dodawanego na serwer zdjęcia w formie:
Opis1 || nazwa_pliku
Opis2 || inna_nazwa_pliku
itd.

tak na szybko stworzyłem coś takiego
  1. <html>
  2. <body>
  3. <form action="upload.php" method="post">
  4. Plik: <input name="plik" type="file" /><br />
  5. Opis zdjęcia: <input type="text" name="opis" /><br />
  6. <input type="submit" name="button" value="wyslij" />
  7. </form>
  8. <?php
  9.  
  10. $plik_tmp = $_FILES ['plik']['tmp_name'];
  11. $plik_nazwa = $_FILES ['plik']['name'];
  12. $plik_rozmiar = $_FILES ['plik']['size'];
  13.  
  14.  
  15. move_uploaded_file($plik_tmp, "zdj/$plik_nazwa");
  16.  
  17.  
  18. $txt = "zdj.txt";
  19. $otw = fopen($txt, "a");
  20.  
  21. fwrite($otw, $_POST['opis']." || ".$_POST['$plik_nazwa']);
  22. fclose($otw);
  23. ?>
  24. </body>
  25. </html>

Z tym że jest pare problemów:
Dane z "kolejnych przesyłań" formularzu są zapisywane w jednej linii
Zdjęcia nie zapisują się do wyznaczonego folderu (być może to przez serwer (yoyo.pl))
Dodatkowo nie wiem jak w "drugiej kolumnie" w pliku zapisać nazwę pliku (zdjęcia) (taką jaka jest folderze "zdj") dlatego też w kodzie jest tam takie "coś"

Bardzo proszę o pomoc winksmiley.jpg
Blame
  1. $plik_tmp = $_FILES ['plik']['tmp_name'];
  2.  
  3. $plik_nazwa = $_FILES ['plik']['name'];
  4.  
  5. $plik_rozmiar = $_FILES ['plik']['size'];
  6.  
  7. $folder="zdj/";
  8.  
  9.  
  10.  
  11. move_uploaded_file($plik_tmp, "$folder.$plik_nazwa");
  12.  
  13.  
  14.  
  15.  
  16.  
  17. $txt = "zdj.txt";
  18.  
  19. $otw = fopen($txt, "a");
  20.  
  21.  
  22.  
  23. fwrite($otw, $_POST['opis']." || ".$_POST['$plik_nazwa']"\n");
  24.  
  25. fclose($otw);


Co do ostatniego to nie bardzo wiem o co ci chodzi.
PS. O wiele łatwiej jest to zrobić w MySQL, więc jak masz taką możliwość to przerób ten skrypt.
Jamesss
Dzięki
Cytat
Co do ostatniego to nie bardzo wiem o co ci chodzi.

Powiedzmy że wysyłam zdjęcie o nazwie "zdj001" - na serwerze w folderze "zdj" zostaje ono umieszczone
i teraz chciałbym aby w pliku w drugiej "kolumnie" znajdowała się nazwa tego zdjęcia, wg przykładu:
Opis do zdjęcia || zdj001

w kodzie zrobiłem to tak:
  1. $_POST['$plik_nazwa']

ale nie jest to dobre

Edit:
Poza tym niestety to przeniesienie do nowej linii nie działa sad.gif

Nikt nie ma pomysłu ? winksmiley.jpg
Blame
  1. fwrite($otw, $_POST['opis']." || ".$_POST['$plik_nazwa']."\n");

Powinno działać.

Co do twojego ostatniego pytania to nie jestem zbyt doświadczony, ale myślę że jak już nie korzystasz z MySQL to ten sposób jest dość dobry.
Ponadto jeśli potem będziesz chciał wyświetlać te zdjęcia to każdy wers możesz oddzielić jakimiś innymi znakami np. "::" i później z pomocą funkcji explode najpierw oddzielić je od siebie a potem opis zdjęcia od jego nazwy. Jednak tak jak już wcześniej wspominałem użycie bazy danych było by w tym przypadku o wiele łatwiejsze i wydajniejsze.
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.