Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Upload i galeria zdjęć
Forum PHP.pl > Forum > Przedszkole
kill15
Witam.
Jak zrobić upload zdjęć który wysyłałby dane do mysql z miniaturkami i jeszcze wyswietlanie tych zdjec ;D
A po wyświetleniu żeby można było kliknąć w to zdjęcie i obok pokazało się wtedy to zdjęcie ale większe.
ciekawskiii
Calego skryptu oczekujesz?
kill15
Oczekuję pomocy przy uploadzie i wysyłąniu danych do mysql snitch.gif
Potem sobie to pętlą wyświetlę snitch.gif
lord2105
UPLOAD

zapis nazwy pliku do bazy przez INSERT.

Wyświetlanie poprzez stalą ścieżkę ze zmienna z bazy (nazwa pliku). np. <img src='/photos/<?=$row['photo'] ?>'>
kill15
Poszukałem pokombinowałem i takie coś mam teraz:

  1. <?php
  2. if($_FILES[plik][error] != 0 OR $_FILES['plik']['size'] > 400*1024){
  3.  
  4. echo show_error("Wystąpił błąd podczas przesyłania pliku!"); echo "<br>
  5. Sprawdź czy plik nie jest za duży i spróbuj ponownie! Maxymalny rozmiar to 400kb<br>
  6. ";
  7. }
  8.  
  9. if($_FILES[plik][type] == "image/jpg" ||
  10.  
  11. $_FILES[plik][type] == "image/jpeg" ||
  12.  
  13. $_FILES[plik][type] == "image/pjpeg" ||
  14.  
  15. $_FILES[plik][type] == "image/pjpg" ||
  16.  
  17. $_FILES[plik][type] == "image/png" ||
  18.  
  19. $_FILES[plik][type] == "image/gif"){
  20.  
  21. if(move_uploaded_file($_FILES[plik][tmp_name], "zdjecia/ogloszenia/".$_FILES[plik][name])){
  22.  
  23. chmod("./zdjecia/ogloszenia/".$_FILES['plik']['name'], 0777);
  24.  
  25. require_once './php_class/ThumbLib.inc.php';
  26.  
  27. $thumb = PhpThumbFactory::create('zdjecia/ogloszenia/'.$_FILES['plik']['name']);
  28.  
  29. $thumb->resize(120, 90);
  30.  
  31. $thumb->save("zdjecia/ogloszenia/thumbs/".$_FILES['plik']['name'], 'jpg');
  32.  
  33. chmod("./zdjecia/ogloszenia/".$_FILES[plik][name], 0644);
  34.  
  35.  
  36. if(isset($_POST['nhotel']) || isset($_POST['woj']) || isset($_POST['dodal']) || isset($_POST['opis']) || isset($_POST['wiecej']) || isset($_POST['atrakcje']))
  37. {
  38. $nhotel = htmlspecialchars(mysql_real_escape_string(trim($_POST['nhotel'])));
  39. $opis = $_POST['opis'];
  40. $wiecej = $_POST['wiecej'];
  41. $atrakcje = mysql_real_escape_string(trim($_POST['atrakcje']));
  42. $polozenie = mysql_real_escape_string(trim($_POST['polozenie']));
  43. $dodal = $login = $_SESSION['login'];
  44. $kategoria = $_POST['kategoria'];
  45. if(isset($_POST['dodaj']))
  46. {
  47. $zapytanie="INSERT INTO hotel (nazwa,opis,wiecej,wojewodztwo,dodal,polozenie,atrakcja,kategoria,zdjecie) VALUES('$nhotel', '$opis', '$wiecej', '$woj','$dodal', '$polozenie', '$atrakcje', '".implode($kategoria)."', '".zapytanie($_FILES['plik']['name'])."')";
  48.  
  49. mysql_query($zapytanie) or die("Wystąpił błąd" );
  50.  
  51. echo('Hotel został dodany pomyślnie');
  52. ?>
  53.  
  54. <HEAD>
  55. <META HTTP-EQUIV="Refresh" CONTENT="1; URL=indexdw.php">
  56. </HEAD>
  57.  
  58. <?php
  59. }
  60.  
  61.  
  62. }
  63.  
  64.  
  65.  
  66. }
  67. else
  68. {
  69.  
  70. echo show_error("Błąd ładowania zdjęcia!");
  71.  
  72.  
  73. }
  74.  
  75. }
  76. else
  77. {
  78.  
  79. echo show_error("Niedozwolony format pliku!"); echo "<br>Możesz dodawać pliki wyłącznie z rozszerzeniem .jpg .jpeg .png .gif<br>";
  80.  
  81. }



I niby wrzuca zdjęcie na serwer ale zapytanie się nie wykonuje nie ma błędu ani nie pisze że dodało.

Aha przy okazji jak zrobić żeby móc wrzucić kilka zdjęć questionmark.gif
CuteOne
  1.  
  2. if(isset($_POST['nhotel']) || isset($_POST['woj']) || isset($_POST['dodal']) || isset($_POST['opis']) || isset($_POST['wiecej']) || isset($_POST['atrakcje']))
  3. {

podmień na:
  1. echo '<pre>';
  2. print_r($_POST);
  3. echo '</pre>';
  4. if(isset($_POST['nhotel']) || isset($_POST['woj']) || isset($_POST['dodal']) || isset($_POST['opis']) || isset($_POST['wiecej']) || isset($_POST['atrakcje']))
  5. {


I sprawdź czy $_POST, które masz w if() zostały wyświetlone (możliwe, że brakuje ci $_POST['dodaj'])
kill15
  1. <?php
  2. if($login)
  3. {
  4. $plik_tmp = $_FILES['plik']['tmp_name'];
  5. $plik_nazwa = $_FILES['plik']['name'];
  6. $plik_rozmiar = $_FILES['plik']['size'];
  7.  
  8. if(is_uploaded_file($plik_tmp)) {
  9. move_uploaded_file($plik_tmp, "zdjecia/$plik_nazwa");
  10. echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze";
  11. }
  12. if(isset($_POST['nhotel']) || isset($_POST['woj']) || isset($_POST['dodal']) || isset($_POST['opis']) || isset($_POST['wiecej']) || isset($_POST['atrakcje']))
  13. {
  14. $nhotel = htmlspecialchars(mysql_real_escape_string(trim($_POST['nhotel'])));
  15. $opis = $_POST['opis'];
  16. $wiecej = $_POST['wiecej'];
  17. $atrakcje = mysql_real_escape_string(trim($_POST['atrakcje']));
  18. $polozenie = mysql_real_escape_string(trim($_POST['polozenie']));
  19. $dodal = $login = $_SESSION['login'];
  20. $kategoria = $_POST['kategoria'];
  21. if(isset($_POST['dodaj']))
  22. {
  23. $zapytanie="INSERT INTO hotel (nazwa,opis,wiecej,wojewodztwo,dodal,polozenie,atrakcja,kategoria,zdjecie) VALUES('$nhotel', '$opis', '$wiecej', '$woj','$dodal', '$polozenie', '$atrakcje', '".implode($kategoria)."', 'zdjecia/$plik_nazwa')";
  24.  
  25. mysql_query($zapytanie) or die("Wystąpił błąd" );
  26.  
  27. echo('Hotel został dodany pomyślnie');
  28. ?>
  29.  
  30. <HEAD>
  31. <META HTTP-EQUIV="Refresh" CONTENT="1; URL=indexdw.php">
  32. </HEAD>
  33.  
  34. <?php
  35. }
  36.  
  37. }
  38. else
  39. {
  40. $tabela = array();
  41.  
  42. $zapytanie = "SELECT * FROM `kategorie` ORDER BY `id` DESC";
  43. $idzapytania = mysql_query($zapytanie);
  44. while ($wiersz = mysql_fetch_assoc($idzapytania))
  45.  
  46. $tabela[] = $wiersz;
  47.  
  48. $smarty->assign(array( 'edytujn' => $tabela,
  49. 'login' => $login));
  50. $smarty->display('dodajdw.tpl');
  51. exits;
  52.  
  53. }
  54.  
  55. }
  56. else
  57. {
  58. $smarty->display('dodajdw.tpl');
  59. }
  60. ?>


Zrobiłem tak i teraz jak zrobić aby robiło mi miniaturki i jak zrobić żeby zmieniało nazwy zdjęć oraz jak ograniczyć rozmiar zdjęć.
Prosiłbym też o wskazówki jak zrobić aby dodawać kilka zdjęć.
Bo chce 6 zdjęć a wydaje mi się poronionym pomysłem skopiować pierwszą część kodu i skopiować 5 razy.(potrzebuje 6 zdjęć mieć) i 5 razy to co w form skopiować. (i pozmienia zmienne) - to chyba ostateczność haha.gif

Czekam na wasze pomysły a między czasie sam poszukam haha.gif
CuteOne
1. google -> php miniaturki
2. google -> php change upload file name
3. ajax, iframe, google -> multiupload


zanim coś napiszesz najpierw odwiedź parę tutoriali
kill15
wierz mi lub nie ale siedze nad tym od rana haha.gif

Nie ta karta haha.gif
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.