Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Problem z galerią zdjęć
tr86
post
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 10.10.2009
Skąd: Dąbrowa Górnicza

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


Mam w każdej kategorii osobny upload zdjęć i przegląd galerii. Problem polega na tym, że gdy dodam chociaż jedno zdjęcie do galerii A, to pokazują się w niej wszystkie zdjęcia z każdej galerii (tak jakby nie rozpoznawało po ID).

Tak wygląda skrypt odczytujący zdjęcia z galerii:

  1. $connect = mysql_connect("mysql2.yoyo.pl","user","haslo")
  2. or die ("Nie można nawiązać połączenia.");
  3. or die ("Nie ma takiej bazy danych.");
  4.  
  5. $zapytanie2 = mysql_query ("select * from konferencje where id='$wynik'")
  6. or die('błąd: '.mysql_error());
  7.  
  8. $zapytanie = mysql_query ("select * from galeria where id_konf='$wynik'")
  9. or die('błąd: '.mysql_error());
  10.  
  11. $ile = mysql_num_rows($zapytanie);
  12.  
  13. $galeria = mysql_fetch_array($zapytanie);
  14. $galeria2 = mysql_fetch_array($zapytanie2);
  15.  
  16. if($ile > 0)
  17. {
  18.  
  19. echo ('<font color="#FFD666">');
  20. echo ('<center><b>Konferencja '.$galeria2['nazwa_konf'].' - <font color="red">Galeria zdjęć</font></b></center><br>');
  21. $dir = opendir('galeria');
  22. while(false !== ($file = readdir($dir))) {
  23. if($file != "." && $file != "..") {
  24. $data = file("galeria/".$file);
  25. $size = $data[1];
  26. if($size > 200) {
  27. $size = (int)($size/200)." KB";
  28. }
  29. else {
  30. $size = $size." B";
  31. }
  32. }
  33. echo ('<img src="galeria/'.$file.'" width="250px" height="200px" border="2"/>');
  34. }
  35. closedir($dir);


Czy ktoś ma jakiś pomysł na rozwiązanie tego?
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
Zosiek
post
Post #2





Grupa: Zarejestrowani
Postów: 140
Pomógł: 22
Dołączył: 1.05.2009
Skąd: Będzin

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


Twój kod otwiera folder galeria i wyświetla wszystkie zdjęcia tam zawarte.

Ten post edytował Zosiek 11.10.2009, 13:23:59


--------------------
Pamiętaj ja staram się pomóc tobie, a ty może kiedyś pomożesz mnie. :D
Pomogłem Ci?? Jeśli tak to jestem z tego dumny. Jeśli nie to postaram się bardziej - nikt nie jest doskonały :P
Kliknij przycisk Pomógł pod postem, który Ci pomógł.
Go to the top of the page
+Quote Post
tr86
post
Post #3





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 10.10.2009
Skąd: Dąbrowa Górnicza

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


No tak, a chciałbym żeby wyświetlały tylko te związane z daną kategorią...
Go to the top of the page
+Quote Post
Zosiek
post
Post #4





Grupa: Zarejestrowani
Postów: 140
Pomógł: 22
Dołączył: 1.05.2009
Skąd: Będzin

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


No to zrób dla każdej kategorii pod folder, i w poleceniu opeddir, file i a href dodaj zmienną z nazwą kategorii którą jak widzę pobierasz z bazy danych

Ten post edytował Zosiek 11.10.2009, 13:31:57


--------------------
Pamiętaj ja staram się pomóc tobie, a ty może kiedyś pomożesz mnie. :D
Pomogłem Ci?? Jeśli tak to jestem z tego dumny. Jeśli nie to postaram się bardziej - nikt nie jest doskonały :P
Kliknij przycisk Pomógł pod postem, który Ci pomógł.
Go to the top of the page
+Quote Post
tr86
post
Post #5





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 10.10.2009
Skąd: Dąbrowa Górnicza

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


Też myślałem o takim rozwiązaniu, tylko jak teraz stworzyć nazwy tych podfolderów?

  1. if(is_uploaded_file($zdjecie_tmp))
  2. {
  3. move_uploaded_file($zdjecie_tmp, "galeria/$zdjecie_nazwa");


Go to the top of the page
+Quote Post
Zosiek
post
Post #6





Grupa: Zarejestrowani
Postów: 140
Pomógł: 22
Dołączył: 1.05.2009
Skąd: Będzin

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


przy wrzucaniu pliku formularz z możliwością (stworzenia albo zaznaczenia) kategorii i najpierw tworzysz folder (albo jak jest tylko do wyboru to porotu wrzucasz tam) jeśłi nie istnieje potem wrzucasz tam fotki.


--------------------
Pamiętaj ja staram się pomóc tobie, a ty może kiedyś pomożesz mnie. :D
Pomogłem Ci?? Jeśli tak to jestem z tego dumny. Jeśli nie to postaram się bardziej - nikt nie jest doskonały :P
Kliknij przycisk Pomógł pod postem, który Ci pomógł.
Go to the top of the page
+Quote Post
tr86
post
Post #7





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 10.10.2009
Skąd: Dąbrowa Górnicza

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


A jak stworzyć takie kategorie? Mam folder Galeria, a w nim chciałbym mieć foldery o nazwach np. Galeria28, Galeria29, Galeria30, gdzie te numery to by były id kategorii (w moim przypadku konferencji) i w nich by były dopiero umieszczane zdjęcia i odpowiednio wyświetlane na stronie.
Próbowałem przed chwilą czegoś takiego, ale nie działa...:

  1. move_uploaded_file($zdjecie_tmp, "galeria/galeria$wynik/$zdjecie_nazwa");
Go to the top of the page
+Quote Post
Zosiek
post
Post #8





Grupa: Zarejestrowani
Postów: 140
Pomógł: 22
Dołączył: 1.05.2009
Skąd: Będzin

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


a nie lepiej sam numer bez przedrostka??
a i powinno być
  1. move_uploaded_file($zdjecie_tmp, 'galeria/galeria'.$wynik.'/'.$zdjecie_nazwa.'');


Ten post edytował Zosiek 11.10.2009, 14:12:24


--------------------
Pamiętaj ja staram się pomóc tobie, a ty może kiedyś pomożesz mnie. :D
Pomogłem Ci?? Jeśli tak to jestem z tego dumny. Jeśli nie to postaram się bardziej - nikt nie jest doskonały :P
Kliknij przycisk Pomógł pod postem, który Ci pomógł.
Go to the top of the page
+Quote Post
tr86
post
Post #9





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 10.10.2009
Skąd: Dąbrowa Górnicza

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


Niestety wyskoczyły błędy w tej funkcji i się wogóle zdjęcie nie zapisało.

Warning: move_uploaded_file(galeria/30/1.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /var/www/sites/yoyo.pl/t/e/testowyportalik/organizowane_konf.php on line 1303

Ten post edytował tr86 11.10.2009, 14:27:59
Go to the top of the page
+Quote Post
Zosiek
post
Post #10





Grupa: Zarejestrowani
Postów: 140
Pomógł: 22
Dołączył: 1.05.2009
Skąd: Będzin

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


Mój stary upload
  1. $upload_dir = "galeria".$wynik."/";
  2. $file_path = $upload_dir.$zdjecie_nazwa;
  3. move_uploaded_file($zdjecie_tmp, $file_path);


Mówi o tym że nie może otworzyć folderu, do którego próbujesz wrzucić zdjęcie.

Ten post edytował Zosiek 11.10.2009, 14:31:44


--------------------
Pamiętaj ja staram się pomóc tobie, a ty może kiedyś pomożesz mnie. :D
Pomogłem Ci?? Jeśli tak to jestem z tego dumny. Jeśli nie to postaram się bardziej - nikt nie jest doskonały :P
Kliknij przycisk Pomógł pod postem, który Ci pomógł.
Go to the top of the page
+Quote Post
tr86
post
Post #11





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 10.10.2009
Skąd: Dąbrowa Górnicza

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


Dzięki, ale nie chciałbym teraz wszystkiego przerabiać...bo upload mi działa, tylko właśnie problem z tymi podfolderami ;/
Go to the top of the page
+Quote Post
Zosiek
post
Post #12





Grupa: Zarejestrowani
Postów: 140
Pomógł: 22
Dołączył: 1.05.2009
Skąd: Będzin

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


No to tworzysz jeśli nie istnieje folder w momencie przesyłana pliku, a potem
  1. move_uploaded_file($zdjecie_tmp,"galeria/galeria".$wynik."/".$zdjecie_nazwa."");


Ten post edytował Zosiek 11.10.2009, 14:51:23


--------------------
Pamiętaj ja staram się pomóc tobie, a ty może kiedyś pomożesz mnie. :D
Pomogłem Ci?? Jeśli tak to jestem z tego dumny. Jeśli nie to postaram się bardziej - nikt nie jest doskonały :P
Kliknij przycisk Pomógł pod postem, który Ci pomógł.
Go to the top of the page
+Quote Post
tr86
post
Post #13





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 10.10.2009
Skąd: Dąbrowa Górnicza

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


Zrobiłem tak jak mówiłeś, stworzyłem folder w momencie przesyłania zdjęcia.

  1. mkdir("galeria/$wynik");


Tylko teraz zdjęcia się nie wyświetlają w galerii hmmm...Może to wynika z uprawnień? Bo zdjęcia są przesyłane na FTP, gdzie jest folder galeria (755) a w nim stworzyły mi się 2 foldery 29 i 30 też z uprawnieniami 755. Zdjęcia w tych folderach mają uprawnienia 600.
Go to the top of the page
+Quote Post
Zosiek
post
Post #14





Grupa: Zarejestrowani
Postów: 140
Pomógł: 22
Dołączył: 1.05.2009
Skąd: Będzin

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


600 daje uprawnienia tylko właścicielowi (odczyt i zapis)

Ten post edytował Zosiek 11.10.2009, 15:29:56


--------------------
Pamiętaj ja staram się pomóc tobie, a ty może kiedyś pomożesz mnie. :D
Pomogłem Ci?? Jeśli tak to jestem z tego dumny. Jeśli nie to postaram się bardziej - nikt nie jest doskonały :P
Kliknij przycisk Pomógł pod postem, który Ci pomógł.
Go to the top of the page
+Quote Post
tr86
post
Post #15





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 10.10.2009
Skąd: Dąbrowa Górnicza

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


Tak wiem. Wcześniej musiałem zmieniać ręcznie dla każdego zdjęcia uprawnienia z 600 na 644 by były widoczne, a teraz nawet to nie pomaga...
Go to the top of the page
+Quote Post
Zosiek
post
Post #16





Grupa: Zarejestrowani
Postów: 140
Pomógł: 22
Dołączył: 1.05.2009
Skąd: Będzin

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


Pokaż kod uplaodu razem z move_upload_file ( w momencie ładowania zdjeć po move _upload nadaj im chmod()


--------------------
Pamiętaj ja staram się pomóc tobie, a ty może kiedyś pomożesz mnie. :D
Pomogłem Ci?? Jeśli tak to jestem z tego dumny. Jeśli nie to postaram się bardziej - nikt nie jest doskonały :P
Kliknij przycisk Pomógł pod postem, który Ci pomógł.
Go to the top of the page
+Quote Post
tr86
post
Post #17





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 10.10.2009
Skąd: Dąbrowa Górnicza

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


UPLOAD

  1. <form enctype="multipart/form-data" action="organizowane_konf.php?co=dodajzdjecie&wynik='.$wynik.'"
  2. method="POST">
  3. <input type="hidden" name="MAX_FILE_SIZE" value="1024000" />
  4. <tr>
  5. <td>Zdjęcie: (max do 1 MB) <font color="red">*</font></td>
  6. <td><input name="zdjecie" type="file" /></td></tr><br>
  7. <tr>
  8. <td>Tytuł zdjęcia: <font color="red">*</font></td>
  9. <td><input name="tytul_zdjecia" type="text" size=36 maxlength=60/></td></tr><br>
  10. </table>
  11. <input type="submit" value="Dodaj zdjęcie" />
  12. <input type="reset" value="Wyczyść" />
  13. </form>
  14.  
  15. mkdir("galeria/$wynik");
  16.  
  17. if ($co == 'dodajzdjecie')
  18. {
  19. $zapytanie = mysql_query ("select * from konferencje where id='$wynik'")
  20. or die('błąd: '.mysql_error());
  21.  
  22. $id = mysql_fetch_array($zapytanie);
  23.  
  24. $zdjecie_tmp = $_FILES['zdjecie']['tmp_name'];
  25. $zdjecie_nazwa = $_FILES['zdjecie']['name'];
  26. $zdjecie_rozmiar = $_FILES['zdjecie']['size'];
  27. $max_rozmiar_zdjecia = 1024000;
  28. $tytul_zdjecia = $_POST['tytul_zdjecia'];
  29.  
  30. // sprawdzenie rozmiaru zdjęcia
  31. if ($zdjecie_rozmiar > $max_rozmiar_zdjecia)
  32. {
  33. echo('<div id="TRESC"><center><font color="red">Rozmiar przesyłanego zdjęcia jest za duży. Maksymalny rozmiar pliku to 1MB.</font><br><br>');
  34. echo('<a href=organizowane_konf.php?co=zdjecie&wynik='.$wynik.'>Proszę wrócić i spróbować ponownie.</a></center></div>');
  35. }
  36.  
  37. // sprawdzenie czy pola sa puste
  38. if (empty($_FILES['zdjecie']['name']) or empty($_POST['tytul_zdjecia']))
  39. {
  40. echo('<div id="TRESC"><center><font color="red">Uzupełnij wszystkie wymagane pola.</font><br><br>');
  41. echo('<a href=organizowane_konf.php?co=zdjecie&wynik='.$wynik.'>Proszę wrócić i spróbować ponownie.</a></center></div>');
  42. }
  43.  
  44. $is_doc = explode('.', $zdjecie_nazwa);
  45. $is_doc[1] = strtolower($is_doc[1]);
  46.  
  47. if (($is_doc[1] == 'jpeg')|| ($is_doc[1] == 'jpg') || ($is_doc[1] == 'bmp')||($is_doc[1] == 'gif'))
  48. {
  49. if(is_uploaded_file($zdjecie_tmp))
  50. {
  51. move_uploaded_file($zdjecie_tmp,"galeria/".$wynik."/".$zdjecie_nazwa."");
  52.  
  53. $query = "INSERT INTO galeria SET
  54. id_konf='$wynik',
  55. nazwa_pliku='$zdjecie_nazwa',
  56. tytul_zdjecia='$tytul_zdjecia'";
  57. }
  58. }
  59. else
  60. {
  61. echo('<div id="TRESC"><center><font color="red">Nieprawidłowy format lub zbyt duży rozmiar przesyłanego zdjęcia.</font><br><br>');
  62. echo('<a href=organizowane_konf.php?co=zdjecie&wynik='.$wynik.'>Proszę wrócić i spróbować ponownie.</a></center></div>');
  63. }
  64. if(!mysql_query($query, $connect))
  65. {
  66. echo("Wystąpił błąd zapytanie zostało odrzucone...<br>");
  67. return;
  68. }
  69.  
  70.  
  71. if(!mysql_close())
  72. {
  73. echo("Wystąpił błąd podczas zamykania połączenia z serwerem MySQL...<br>");
  74. }
  75. else
  76. {
  77. echo ('<center>Zdjęcie dodano pomyślnie! <br><br><br>');
  78. echo ('<a href="organizowane_konf.php?co=galeria&wynik='.$wynik.'">Przeglądaj galerię</a><br><br><br>');
  79. echo ('<a href="organizowane_konf.php?co=zdjecie&wynik='.$wynik.'">Dodaj kolejne zdjęcie</a><br><br><br></center>');
  80. echo ('<center><a href=organizowane_konf.php?co=szczegoly&wynik='.$wynik.'>Wróć do strony konferencji</a></center>');
  81. }
  82.  
  83. }
Go to the top of the page
+Quote Post
Zosiek
post
Post #18





Grupa: Zarejestrowani
Postów: 140
Pomógł: 22
Dołączył: 1.05.2009
Skąd: Będzin

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


1. Mkdir daj pod warunkiem if dodajzdjecie ( i daj warunek że jeśli istniej taki folder to aby nie tworzył bo wyswietli bład (ale zdjecie przeniecsie)
2. Co zawiera zmienna $co oraz $wynik??
3. Po co pobierasz * z bazy

Ten post edytował Zosiek 11.10.2009, 16:10:07


--------------------
Pamiętaj ja staram się pomóc tobie, a ty może kiedyś pomożesz mnie. :D
Pomogłem Ci?? Jeśli tak to jestem z tego dumny. Jeśli nie to postaram się bardziej - nikt nie jest doskonały :P
Kliknij przycisk Pomógł pod postem, który Ci pomógł.
Go to the top of the page
+Quote Post
tr86
post
Post #19





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 10.10.2009
Skąd: Dąbrowa Górnicza

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


Cytat(Zosiek @ 11.10.2009, 17:01:15 ) *
1. Mkdir daj pod warunkiem if dodajzdjecie ( i daj warunek że jeśli istniej taki folder to aby nie tworzył bo wyswietli bład (ale zdjecie przeniecsie)
2. Co zawiera zmienna $co oraz $wynik??
3. Po co pobierasz * z bazy



ad.1. Jak dałem pod tym ifem to wyszedł błąd z funkcją mkdir. Ten warunek jesli folder juz istnieje chyba jest niepotrzebny, bo nie wyskakuje żaden taki błąd...
ad.2. Zmienna $co to tak jakby osobny link (przejście do kolejnej strony). Tak zrobiłem, aby mieć wszystko w jednym pliku, więc to nie ma żadnego znaczenia.
Zmienna $wynik tylko pobiera mi nazwę konferencji, więc to też mało istotne.
ad.3. jw. z tym wynikiem.


PS. Mam nadzieje, że nie nadużywam Twojej pomocy...
Go to the top of the page
+Quote Post
Zosiek
post
Post #20





Grupa: Zarejestrowani
Postów: 140
Pomógł: 22
Dołączył: 1.05.2009
Skąd: Będzin

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


1. Mkdir wywali błąd że folder istnieje jeśli będzie taki owy
2. Z tego co mi dałeś zmienna $co i $wynik nie maja tego co trzeba bo wysyłasz je w formularzu metodą GET (ale $wynik chyba nie bo jest w formularzu))
3. Formularz nie powinien się wyświetlić ponieważ jest między znacznikami <?php ?> a powinien być w tym wypadku echowany echo()
4. U mnie po tych małych poprawkach kod dizłą. Tworzy, zapisuje do bazy.
5. Mówisz że nei wyświetla w galerii fotki a jaki tam jest skrypt.
Wydaje mi się, że pomocy nadużywa ten, który za nia nie dzękuej po rozwiązaniu problemu smile.gif


--------------------
Pamiętaj ja staram się pomóc tobie, a ty może kiedyś pomożesz mnie. :D
Pomogłem Ci?? Jeśli tak to jestem z tego dumny. Jeśli nie to postaram się bardziej - nikt nie jest doskonały :P
Kliknij przycisk Pomógł pod postem, który Ci pomógł.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 - 05:11