Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP MySQL] Upload galerii do bazy danych
Forum PHP.pl > Forum > Przedszkole
nitroo
Witam. Mam cos takiego (na razie bez miniaturek tworzonych automatycznie):

akcja = dopisz, jak nazwa funkcji, moze to zbedne.

w MyUpload.php nic nie zmienialem.

formularz dodajacy dane do tabeli galera_kat zawiera nazwe kategorii, jej opis oraz tworzy na folder (np. 08_02_10_03_02_58) - data, godzina z sekundami. I ten skrypt ma przerzucac tam wgrany plik, gdzie wskaze w formularzu galeria_kat.

Moze inaczej. W formularzu wybieramy galeria: i tam pobierane sa nazwy galerii z galeria_kat. No wiec wgrane zdjecia powinny zostac przerzucane do ../../galeria/$folder_stworzony_przez_formularz.

I moj problem jest nastepujacy: Dodaje zdjecia do bazy danych, wszystkie pola, ale nie pojawia mi sie, ze Kopiowanie obrazka powiodło się i nie wkleja mi zdjec do folderow.

Gdzie lezy przyczyna?

  1. <?php
  2. require_once("MyUpload.php");
  3.  
  4. function dopisz($czy, $akcja, $nazwa, $opis, $galeria, $image, $img, $img_size, $size)
  5. {
  6. if( $_POST['submit'] != '' )
  7. {
  8. $galeria = $_GET['galeria'];
  9. $pobierz_katalo = mysql_query("select*from galeria_kat where id='$galeria'");
  10.  
  11. while ($kat = mysql_fetch_array($pobierz_katalo))
  12. {
  13. $u = $_POST['u'];
  14. $u = new MyUpload( $_FILES['image']['name'], $_FILES['image']['tmp_name'], $_FILES['image']['size'], $_GET['image']['width'], $_GET['image']['height']);
  15. $p = $_POST['p'];
  16. $p = new MyUpload( $_FILES['img']['name'], $_FILES['img']['tmp_name'], $_FILES['img']['size'], $_GET['img']['width'], $_GET['img']['height']);
  17.  
  18. chmod ($_FILES['image']['tmp_name'], 0644);
  19. chmod ($_FILES['img']['tmp_name'], 0644); 
  20.  
  21. $result = $_POST['result'];
  22. $result = $u->upload( "../../img/upload/$kat[katalog]/" );
  23. $resul = $_POST['resul'];
  24. $resul = $p->upload( "../../img/upload/$kat[katalog]/" ); 
  25.  
  26. print $result;
  27. print $resul;
  28. }
  29. }
  30.  
  31. $czy = $_POST['czy']; 
  32. $akcja = $_GET['akcja']; 
  33.  
  34. if(isset($_POST['czy']) != "tak")
  35. {
  36. $nazwa = $_POST['nazwa'];
  37. $opis = $_POST['opis'];
  38. $image = $_FILES['image']['name'];
  39. $img = $_FILES['img']['name']; 
  40. $galeria = $_POST['galeria'];
  41.  
  42. print "<form enctype='multipart/form-data' method='post' action='strony/galeria.dodaj.php'>"; 
  43. print "<input type='hidden' name='MAX_FILE_SIZE' value='1500000'>";
  44. echo "<input type=hidden name=czy value=tak>";
  45. echo "<input type=hidden name=akcja value=dopisz>";
  46.  
  47. echo "<table width=\"85%\" height=\"40\" border=\"0\" align=\"center\" cellpadding=\"10\" cellspacing=\"10\" bgcolor=\"#003366\"><tr><td align=\"center\" valign=\"middle\" class=adminmainfont><font color=\"#FFFFFF\"><strong>DOPISZ ZDJĘCIE</strong></font></td></tr></table>";
  48.  
  49. echo "<table width=\"85%\" border=\"0\" align=\"center\" cellpadding=\"10\" cellspacing=\"10\" bgcolor=\"#EFEFEF\">"; 
  50. print "<tr align=\"center\"><td align=\"right\" valign=\"middle\" class=adminmainfont><strong>Nazwa:</strong></td>";
  51. print "<td align=\"left\" valign=\"middle\" class=adminmainfont><input type=text name='nazwa' style=width:75%></td></tr>"; 
  52. print "<tr align=\"center\"><td align=\"right\" valign=\"middle\" class=adminmainfont><strong>Opis:</strong></td>";
  53. print "<td align=\"left\" valign=\"middle\" class=adminmainfont><input type=text name=opis style=width:75%></td></tr>";
  54. print "<tr align=\"center\"><td align=\"right\" valign=\"middle\" class=adminmainfont><strong>Plik:</strong></td>";
  55. print "<td align=\"left\" valign=\"middle\" class=adminmainfont><input type='file' name='image' style=width:75%></td></tr>";
  56. print "<tr align=\"center\"><td align=\"right\" valign=\"middle\" class=adminmainfont><strong>Miniaturka:</strong></td>";
  57. print "<td align=\"left\" valign=\"middle\" class=adminmainfont><input type='file' name='img' style=width:75%></td></tr>";
  58.  
  59. $pobierz_rodzaj = mysql_query("select*from galeria_kat order by id desc");
  60. echo "<tr><td width=\"25%\" align=\"right\" valign=\"middle\" class=adminmainfont><strong>Galeria:</strong></td>";
  61. echo "<td width=\"75%\" align=\"left\" valign=\"middle\" class=adminmainfont>"; 
  62. echo "<select name=galeria style=width:75%>";
  63. while ($rekord2 = mysql_fetch_array($pobierz_rodzaj))
  64. {
  65. echo "<option value=\"$rekord2[id]\">$rekord2[nazwa]</option>";
  66. }
  67. echo "</select>";
  68. echo "</td></tr>";
  69.  
  70. print "<tr align=\"center\"><td colspan=\"2\" valign=\"middle\" class=adminmainfont>";
  71. print "<input type=submit name=submit value=Dodaj style=width:60px></td></tr>";
  72. echo "</form>\n";
  73. print "</table>";
  74. }
  75. else
  76. {
  77. $result = $_GET['result'];
  78.  
  79. if (strstr($result,'Kopiowanie obrazka powiodło się.')==$result)
  80. {
  81. $result = $_GET['result'];
  82. echo "TAK: $result";
  83. $nazwa = $_POST['nazwa'];
  84. $opis = $_POST['opis'];
  85. $galeria = $_POST['galeria'];
  86. $image = $_FILES['image']['name'];
  87. $size = $_FILES['image']['size'];
  88. $img = $_FILES['img']['name'];
  89. $img_size = $_FILES['img']['size'];
  90.  
  91. $nowy = $_POST['nowy'];
  92. $nowy = "insert into galeria (nazwa, opis, galeria, image, img, img_size, size) values ('$nazwa', '$opis', '$galeria', '$image', '$img', '$img_size', '$size')";
  93.  
  94. $nowy_wpis = mysql_query($nowy);
  95. if($nowy_wpis)
  96. {
  97. echo "Dodałem nowy obrazek.<p><a href=../admin.php?lamelux=dodajzdjecie>wroc</a>";
  98. }
  99. else
  100. {
  101. echo "Nie udało się dodać obrazka.<br>".mysql_error();
  102. }
  103. }
  104. }
  105. }
  106. dopisz($czy, $akcja, $nazwa, $opis, $galeria, $image, $img, $img_size, $size);
  107. ?>


Odpowie mi ktos?sad.gif
arecki
Może napisze co na szybko mogę powiedzieć. Nie zgłębiałem się ale:
- czy wiesz jaka jest różnica pomiędzy $_POST a $_GET ? Używasz naprzemiennie jednych i drugich chociaż formularz powinien pójść poprzez $_POST
- skąd się bierze $_GET['result'] lub np. $_POST['result']?
- używaj albo echo albo print bo jakaś konsekwencja musi być bo kiedyś się pogubisz.
- po co przekazujesz zmienne do funkcji skoro do nich przypisujesz już w ciele funkcji wartości z tablic globalnych ?

To tak na szybko. No i jak chcesz skopiować plik do folderu utworzonego to skorzystaj z move_uploaded_file() czy jakoś tak. Bo tego też nie widzę (no chyba że masz to w klasie MyUpload to w takim bądź razie pokaż kod tej klasy)
Qmis
po pierwsze sprawdź czy katalog do którego chcesz kopiować pliki ma napewno prawa do zapisu 777
nitroo
Zamienilem kilka rzeczy, usunalem includowanie MyUpload, zrobilem na podstawie move_uploaded_file, kilka $_GET zmienilem na $_POST, usunalem z dopisz() kilka warunkow, bo pozniej je i tak powtarzam i dziala smile.gif przenosi w wyznaczone miejsce smile.gif

powiedz mi prosze, jak moge zrobic teraz miniaturke z kazdego uploadowanego pliku?
nowotny
Cytat(nitroo @ 11.02.2008, 13:41:01 ) *
powiedz mi prosze, jak moge zrobic teraz miniaturke z kazdego uploadowanego pliku?

Poszukaj na forum... było w zeszłym tygodniu...
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.