Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Głupi problem z formularzem wysyłającym obrazek
Forum PHP.pl > Forum > Przedszkole
mihi
A więc mam stronę i sprawdzałem już kod tyle razy że już po prostu.. i nie wiem dlaczego nie działa.. na serwerze mam foldery : zdjecia, i min_zdjecia( na miniaturki) .. bardzo zależy mi na czasie więc jak ktoś by miał chwilę to b. dziękuję smile.gif

Aha mam ustawiony chmod 777 we wszystkich tych folderach..

  1. <?
  2.  
  3. if ($submit=="dodaj")
  4.  {
  5.  $folder = "zdjecia/";
  6.  $prefix_miniaturka = "min_";
  7.  $prefix = "";
  8.  $max_kopia = 600;
  9.  $max_miniaturka = 160;
  10.  $jpeg_jakosc = 70;
  11.  
  12.  if ($idtemp=="")
  13. {
  14. $idtemp=time();
  15. for ($x=0; $x<4; $x++)
  16.  {
  17.  $zn=rand (0,9);
  18.  $idtemp=$idtemp.$zn;
  19.  }
  20. }
  21.  $plikzdjecietmp=$_FILES['zdjecia']['tmp_name'];
  22.  if (is_uploaded_file($plikzdjecietmp))
  23. {
  24. if (isset($_FILES['zdjecia']['tmp_name']))
  25.  {
  26.  $plikzdjecietyp=$_FILES['zdjecia']['tmp_name'];
  27.  if (($plikzdjecietyp!="image/jpeg")&&($plikzdjecietyp!="image/pjpeg")) $blad="nieprawidłowy typ pliku! ($plikzdjecietyp)";
  28.  else
  29. {
  30. $image_info=getimagesize($plikzdjecietmp);
  31. $plikzdjecieszerokosc=$image_info[0];
  32. $plikzdjeciewysokosc=$image_info[1];
  33. if (($plikzdjecieszerokosc<$max_kopia)&&($plikzdjeciewysokosc<$max_kopia)) $blad="nieprawidłowe wymiary zdjęcia!";
  34. }
  35.  }
  36. else $blad="nieprawidłowy plik!";
  37. if ($blad=="")
  38.  {
  39.  $plik = $plikzdjecietmp;
  40.  $plik_nazwa = $idtemp.'.jpg';
  41.  ini_set('memory_limit', 40000000);
  42.  $orginal = imagecreatefromjpeg($plik);
  43.  $s_orginal = imagesx($orginal);
  44.  $w_orginal = imagesy($orginal);
  45.  if ($s_orginal>$w_orginal)
  46. {
  47. $format=1;
  48. $s_kopia = $max_kopia;
  49. $w_kopia = ceil($s_kopia*0.75);
  50. $s_miniaturka = $max_miniaturka;
  51. $w_miniaturka = ceil($s_miniaturka*0.75);
  52. $wspolczynnik=$w_orginal/$s_orginal;
  53. if ($wspolczynnik<=0.75)
  54.  {
  55.  $w_orginal_clon = $w_orginal;
  56.  $s_orginal_clon = floor($w_orginal/0.75);
  57.  }
  58. else
  59.  {
  60.  $s_orginal_clon = $s_orginal;
  61.  $w_orginal_clon = ceil($s_orginal*0.75);
  62.  }
  63. }
  64.  else
  65. {
  66. $format=2;
  67. $w_kopia = $max_kopia;
  68. $s_kopia = ceil($w_kopia*0.75);
  69. $w_miniaturka = $max_miniaturka;
  70. $s_miniaturka = ceil($w_miniaturka*0.75);
  71. $wspolczynnik=$s_orginal/$w_orginal;
  72. if ($wspolczynnik<=0.75)
  73.  {
  74.  $s_orginal_clon = $s_orginal;
  75.  $w_orginal_clon = floor($s_orginal/0.75);
  76.  }
  77. else
  78.  {
  79.  $w_orginal_clon = $w_orginal;
  80.  $s_orginal_clon = ceil($w_orginal*0.75);
  81.  }
  82. }
  83.  $w_clon_przesun = ceil(($w_orginal_clon - $w_orginal)/2);
  84.  $s_clon_przesun = ceil(($s_orginal_clon - $s_orginal)/2);
  85.  $orginal_clon = imagecreatetruecolor($s_orginal_clon, $w_orginal_clon);
  86.  imagecopy($orginal_clon, $orginal, $s_clon_przesun, $w_clon_przesun, 0, 0, $s_orginal, $w_orginal);
  87.  imagedestroy($orginal);
  88.  $kopia = imagecreatetruecolor($s_kopia, $w_kopia);
  89.  imagecopyresized($kopia, $orginal_clon, 0, 0, 0, 0, $s_kopia, $w_kopia, $s_orginal_clon, $w_orginal_clon);
  90.  imagejpeg($kopia, $folder.$prefix.$plik_nazwa, $jpeg_jakosc);
  91.  imagedestroy($kopia);
  92.  $miniaturka = imagecreatetruecolor($s_miniaturka, $w_miniaturka);
  93.  imagecopyresized($miniaturka, $orginal_clon, 0, 0, 0, 0, $s_miniaturka, $w_miniaturka, $s_orginal_clon, $w_orginal_clon);
  94.  imagedestroy($orginal_clon);
  95.  imagejpeg($miniaturka, $folder.$prefix_miniaturka.$plik_nazwa, $jpeg_jakosc);
  96.  imagedestroy($miniaturka);
  97.  echo '
  98.  <img src="'.$folder.$prefix.$plik_nazwa.'" alt="" style="border: 2px solid #000000;" /><br/>
  99.  <img src="'.$folder.$prefix_miniaturka.$plik_nazwa.'" alt="" style="border: 2px solid #000000;" />
  100.  ';
  101.  }
  102. }
  103.  else $blad="nieprawidłowe dane!";
  104.  }
  105. if ($blad!="") echo "<br/>błąd: $blad<br/>";
  106. echo '
  107. <div style="float: left; width: 300px;">
  108.  <form id="entryform" action="" method="post" enctype="multipart/form-data">
  109. <div style="float: left; width: 300px;">
  110.  <span style="font-weight: bold; text-align: left;">
  111. wybierz plik graficzny do wysłania
  112.  </span>
  113.  <div style="height: 25px; overflow: hidden;">
  114. <input type="file" id="plik" name="plik" style="height: 20px; background-color: #FFFFFF; font-size: 12px; font-family: Verdana; border: solid #000000 1px;" />
  115. <input type="submit" name="submit" value="dodaj" style="width: 60px; height: 20px; background-color: #FFFFFF; font-size: 12px; font-family: Verdana; border: solid #000000 1px;" />
  116.  </div>
  117. </div>
  118.  </form>
  119. </div>
  120. ';
  121. ?>
Wieviór
Sam pisałeś ten kod? Jaki jest "błąd"? Dokąd dochodzi skrypt?
l0ud
Było kilka błędów. Ta wersja powinna działać
  1. <?
  2.  
  3. if ($submit=="dodaj")
  4.  {
  5.  $folder = "zdjecia/";
  6.  $prefix_miniaturka = "min_";
  7.  $prefix = "";
  8.  $max_kopia = 600;
  9.  $max_miniaturka = 160;
  10.  $jpeg_jakosc = 70;
  11.  
  12.  if ($idtemp=="")
  13. {
  14. $idtemp=time();
  15. for ($x=0; $x<4; $x++)
  16.  {
  17.  $zn=rand (0,9);
  18.  $idtemp=$idtemp.$zn;
  19.  }
  20. }
  21.  $plikzdjecietmp=$_FILES['zdjecia']['tmp_name'];
  22.  if (is_uploaded_file($plikzdjecietmp))
  23. {
  24. if (isset($_FILES['zdjecia']['tmp_name']))
  25.  {
  26.  $plikzdjecietyp=$_FILES['zdjecia']['type'];
  27.  if (($plikzdjecietyp!="image/jpeg")&&($plikzdjecietyp!="image/pjpeg")) $blad="nieprawidłowy typ pliku! ($plikzdjecietyp)";
  28.  else
  29. {
  30. $image_info=getimagesize($plikzdjecietmp);
  31. $plikzdjecieszerokosc=$image_info[0];
  32. $plikzdjeciewysokosc=$image_info[1];
  33. // w tym miejscu intuicyjnie zmieniłem warunek, na sprawdzanie, czy wymiary sa wieksze wniz max-kopia, a nie mniejsze. zmień to na powrót, jeżeli jest teraz źle
  34. if (($plikzdjecieszerokosc>$max_kopia)&&($plikzdjeciewysokosc>$max_kopia)) $blad="nieprawidłowe wymiary zdjęcia!";
  35. }
  36.  }
  37. else $blad="nieprawidłowy plik!";
  38. if ($blad=="")
  39.  {
  40.  $plik = $plikzdjecietmp;
  41.  $plik_nazwa = $idtemp.'.jpg';
  42.  ini_set('memory_limit', 40000000);
  43.  $orginal = imagecreatefromjpeg($plik);
  44.  $s_orginal = imagesx($orginal);
  45.  $w_orginal = imagesy($orginal);
  46.  if ($s_orginal>$w_orginal)
  47. {
  48. $format=1;
  49. $s_kopia = $max_kopia;
  50. $w_kopia = ceil($s_kopia*0.75);
  51. $s_miniaturka = $max_miniaturka;
  52. $w_miniaturka = ceil($s_miniaturka*0.75);
  53. $wspolczynnik=$w_orginal/$s_orginal;
  54. if ($wspolczynnik<=0.75)
  55.  {
  56.  $w_orginal_clon = $w_orginal;
  57.  $s_orginal_clon = floor($w_orginal/0.75);
  58.  }
  59. else
  60.  {
  61.  $s_orginal_clon = $s_orginal;
  62.  $w_orginal_clon = ceil($s_orginal*0.75);
  63.  }
  64. }
  65.  else
  66. {
  67. $format=2;
  68. $w_kopia = $max_kopia;
  69. $s_kopia = ceil($w_kopia*0.75);
  70. $w_miniaturka = $max_miniaturka;
  71. $s_miniaturka = ceil($w_miniaturka*0.75);
  72. $wspolczynnik=$s_orginal/$w_orginal;
  73. if ($wspolczynnik<=0.75)
  74.  {
  75.  $s_orginal_clon = $s_orginal;
  76.  $w_orginal_clon = floor($s_orginal/0.75);
  77.  }
  78. else
  79.  {
  80.  $w_orginal_clon = $w_orginal;
  81.  $s_orginal_clon = ceil($w_orginal*0.75);
  82.  }
  83. }
  84.  $w_clon_przesun = ceil(($w_orginal_clon - $w_orginal)/2);
  85.  $s_clon_przesun = ceil(($s_orginal_clon - $s_orginal)/2);
  86.  $orginal_clon = imagecreatetruecolor($s_orginal_clon, $w_orginal_clon);
  87.  imagecopy($orginal_clon, $orginal, $s_clon_przesun, $w_clon_przesun, 0, 0, $s_orginal, $w_orginal);
  88.  imagedestroy($orginal);
  89.  $kopia = imagecreatetruecolor($s_kopia, $w_kopia);
  90.  imagecopyresized($kopia, $orginal_clon, 0, 0, 0, 0, $s_kopia, $w_kopia, $s_orginal_clon, $w_orginal_clon);
  91.  imagejpeg($kopia, $folder.$prefix.$plik_nazwa, $jpeg_jakosc);
  92.  imagedestroy($kopia);
  93.  $miniaturka = imagecreatetruecolor($s_miniaturka, $w_miniaturka);
  94.  imagecopyresized($miniaturka, $orginal_clon, 0, 0, 0, 0, $s_miniaturka, $w_miniaturka, $s_orginal_clon, $w_orginal_clon);
  95.  imagedestroy($orginal_clon);
  96.  imagejpeg($miniaturka, $folder.$prefix_miniaturka.$plik_nazwa, $jpeg_jakosc);
  97.  imagedestroy($miniaturka);
  98.  echo '
  99.  <img src="'.$folder.$prefix.$plik_nazwa.'" alt="" style="border: 2px solid #000000;" /><br/>
  100.  <img src="'.$folder.$prefix_miniaturka.$plik_nazwa.'" alt="" style="border: 2px solid #000000;" />
  101.  ';
  102.  }
  103. }
  104.  else $blad="nieprawidłowe dane!";
  105.  }
  106. if ($blad!="") echo "<br/>błąd: $blad<br/>";
  107. echo '
  108. <div style="float: left; width: 300px;">
  109.  <form id="entryform" action="" method="post" enctype="multipart/form-data">
  110. <div style="float: left; width: 300px;">
  111.  <span style="font-weight: bold; text-align: left;">
  112. wybierz plik graficzny do wysłania
  113.  </span>
  114.  <div style="height: 25px; overflow: hidden;">
  115. <input type="file" id="plik" name="zdjecia" style="height: 20px; background-color: #FFFFFF; font-size: 12px; font-family: Verdana; border: solid #000000 1px;" />
  116. <input type="submit" name="submit" value="dodaj" style="width: 60px; height: 20px; background-color: #FFFFFF; font-size: 12px; font-family: Verdana; border: solid #000000 1px;" />
  117.  </div>
  118. </div>
  119.  </form>
  120. </div>
  121. ';
  122. ?>


Zwróć tylko uwagę na miejsce, gdzie wstawiłem komentarz. Przy tym warunku miałem wątpliwości. winksmiley.jpg
mihi
Ok..wielkie dzięki smile.gif Ale kurcze nadal nie działa :/
Nawet nie wyświetlają się komunikaty o błędach.. teraz to wygląda tak:

  1. <center>
  2. <?
  3. if ($submit=="dodaj")
  4.  {
  5.  $folder = "zdjecia/";
  6.  $prefix_miniaturka = "min_";
  7.  $prefix = "";
  8.  $max_kopia = 600;
  9.  $max_miniaturka = 160;
  10.  $jpeg_jakosc = 70;
  11.  
  12.  if ($idtemp=="")
  13. {
  14. $idtemp=time();
  15. for ($x=0; $x<4; $x++)
  16.  {
  17.  $zn=rand (0,9);
  18.  $idtemp=$idtemp.$zn;
  19.  }
  20. }
  21.  $plikzdjecietmp=$_FILES['zdjecia']['tmp_name'];
  22.  if (is_uploaded_file($plikzdjecietmp))
  23. {
  24. if (isset($_FILES['zdjecia']['tmp_name']))
  25.  {
  26.  $plikzdjecietyp=$_FILES['zdjecia']['type'];
  27.  if (($plikzdjecietyp!="image/jpeg")&&($plikzdjecietyp!="image/pjpeg")) $blad="nieprawidłowy typ pliku! ($plikzdjecietyp)";
  28.  else
  29. {
  30. $image_info=getimagesize($plikzdjecietmp);
  31. $plikzdjecieszerokosc=$image_info[0];
  32. $plikzdjeciewysokosc=$image_info[1];
  33. if (($plikzdjecieszerokosc>$max_kopia)&&($plikzdjeciewysokosc>$max_kopia)) $blad="nieprawidłowe wymiary zdjęcia!";
  34. }
  35.  }
  36. else $blad="nieprawidłowy plik!";
  37. if ($blad=="")
  38.  {
  39.  $plik = $plikzdjecietmp;
  40.  $plik_nazwa = $idtemp.'.jpg';
  41.  ini_set('memory_limit', 40000000);
  42.  $orginal = imagecreatefromjpeg($plik);
  43.  $s_orginal = imagesx($orginal);
  44.  $w_orginal = imagesy($orginal);
  45.  if ($s_orginal>$w_orginal)
  46. {
  47. $format=1;
  48. $s_kopia = $max_kopia;
  49. $w_kopia = ceil($s_kopia*0.75);
  50. $s_miniaturka = $max_miniaturka;
  51. $w_miniaturka = ceil($s_miniaturka*0.75);
  52. $wspolczynnik=$w_orginal/$s_orginal;
  53. if ($wspolczynnik<=0.75)
  54.  {
  55.  $w_orginal_clon = $w_orginal;
  56.  $s_orginal_clon = floor($w_orginal/0.75);
  57.  }
  58. else
  59.  {
  60.  $s_orginal_clon = $s_orginal;
  61.  $w_orginal_clon = ceil($s_orginal*0.75);
  62.  }
  63. }
  64.  else
  65. {
  66. $format=2;
  67. $w_kopia = $max_kopia;
  68. $s_kopia = ceil($w_kopia*0.75);
  69. $w_miniaturka = $max_miniaturka;
  70. $s_miniaturka = ceil($w_miniaturka*0.75);
  71. $wspolczynnik=$s_orginal/$w_orginal;
  72. if ($wspolczynnik<=0.75)
  73.  {
  74.  $s_orginal_clon = $s_orginal;
  75.  $w_orginal_clon = floor($s_orginal/0.75);
  76.  }
  77. else
  78.  {
  79.  $w_orginal_clon = $w_orginal;
  80.  $s_orginal_clon = ceil($w_orginal*0.75);
  81.  }
  82. }
  83.  $w_clon_przesun = ceil(($w_orginal_clon - $w_orginal)/2);
  84.  $s_clon_przesun = ceil(($s_orginal_clon - $s_orginal)/2);
  85.  $orginal_clon = imagecreatetruecolor($s_orginal_clon, $w_orginal_clon);
  86.  imagecopy($orginal_clon, $orginal, $s_clon_przesun, $w_clon_przesun, 0, 0, $s_orginal, $w_orginal);
  87.  imagedestroy($orginal);
  88.  $kopia = imagecreatetruecolor($s_kopia, $w_kopia);
  89.  imagecopyresized($kopia, $orginal_clon, 0, 0, 0, 0, $s_kopia, $w_kopia, $s_orginal_clon, $w_orginal_clon);
  90.  imagejpeg($kopia, $folder.$prefix.$plik_nazwa, $jpeg_jakosc);
  91.  imagedestroy($kopia);
  92.  $miniaturka = imagecreatetruecolor($s_miniaturka, $w_miniaturka);
  93.  imagecopyresized($miniaturka, $orginal_clon, 0, 0, 0, 0, $s_miniaturka, $w_miniaturka, $s_orginal_clon, $w_orginal_clon);
  94.  imagedestroy($orginal_clon);
  95.  imagejpeg($miniaturka, $folder.$prefix_miniaturka.$plik_nazwa, $jpeg_jakosc);
  96.  imagedestroy($miniaturka);
  97.  echo '
  98.  <img src="'.$folder.$prefix.$plik_nazwa.'" alt="" style="border: 2px solid #000000;" /><br/>
  99.  <img src="'.$folder.$prefix_miniaturka.$plik_nazwa.'" alt="" style="border: 2px solid #000000;" />
  100.  ';
  101.  }
  102. }
  103.  else $blad="nieprawidłowe dane!";
  104.  }
  105. if ($blad!="") echo "<br/>błąd: $blad<br/>";
  106. echo '
  107. <div style="float: left; width: 300px;">
  108.  <form id="entryform" action="" method="post" enctype="multipart/form-data">
  109. <div style="float: left; width: 300px;">
  110.  <span style="font-weight: bold; text-align: left;">
  111. wybierz plik graficzny do wysłania
  112.  </span>
  113.  <div style="height: 25px; overflow: hidden;">
  114. <input type="file" id="plik" name="zdjecia" style="height: 20px; background-color: #FFFFFF; font-size: 12px; font-family: Verdana; border: solid #000000 1px;" />
  115. <input type="submit" name="submit" value="dodaj" style="width: 60px; height: 20px; background-color: #FFFFFF; font-size: 12px; font-family: Verdana; border: solid #000000 1px;" />
  116.  </div>
  117. </div>
  118.  </form>
  119. </div>
  120. ';
  121. ?>
ppp
problem chyba faktycznie głupi

zamien
  1. <?php
  2. if ($submit=="dodaj")
  3. ?>

na
  1. <?php
  2. if ($_POST['submit']=="dodaj")
  3. ?>

i powinno zadzialac
mihi
Aaa..nie no żal biggrin.gif Dzięki !
mihi
A jeszcze takie małe pytanie.. jak wyświetlić miniaturkę lub obraz w pełbych rozmiarach na wybranej stronie ? Bo tam gdzie jest cały skrypt to wiadomo ale jak na wybranej ? Jakoś to -> przerobić ?
  1. <?
  2.  <img src="'.$folder.$prefix.$plik_nazwa.'" alt="" style="border: 2px solid #000000;" /><br/>
  3.  <img src="'.$folder.$prefix_miniaturka.$plik_nazwa.'" alt="" style="border: 2px solid #000000;" /> 
  4. ?>
ppp
nie do konca wiem o co Ci chodzi. Jesli chcesz po prostu wgrac iles zdjec na serwer przez ten skrypt a potem je wykorzystywac w innych stronahc to najprosciej chyba bedzie do jakiejs bazy danych nazwy tych zdjec powrzucac.
mihi
Ale jak zrobić żeby dodawało do bazy i na serwer ? Jakoś przez if ?
mihi
Ok wiem już jak ok smile.gif Dzięki wszystkim za odpowiedzi biggrin.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.