Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]miniatura zdjęcia
Forum PHP.pl > Forum > Przedszkole
!*!
wgrywam fotkę:

  1. <?php
  2. $katalog = 'files/';
  3.  
  4. $losuj = rand(99, 9999999);
  5. $losuj2 = date("is");
  6. $losuj3 = date("HisYdm");
  7.  
  8. $nowanazwa = ''.$losuj.$losuj2.$losuj3.'';
  9.  
  10. $rozmiar = '40000';  //  40000 to jest 40kb ?
  11.  
  12. $rozmiarpis = "40Kb";
  13.  
  14.  
  15. //---ustawka---//
  16.  
  17. $pliczek = $_FILES['plik']['name'];
  18.  
  19. $explode = explode(".",$pliczek);  
  20. $explode2 = ".$explode[1]";
  21.  
  22.  
  23. $wielkoscpliku = $_FILES['plik']['size'];
  24.  
  25.  
  26. // pobiera wysokość i szerokość pliku
  27. $wys = '140';
  28. $szer = '100';
  29.  
  30. $rozm = getimagesize($_FILES['plik']['tmp_name']);
  31.  
  32. $echoerror2 = 'Błąd sprawdź czy spełniasz podane kryteri: <br /> - wymiary pliku to <b>100px</b> szerokości i <b>140px</b> wysokości.<br /> - waga pliku nie może przekraczać <b>40kb</b>. <br />- akceptowane formaty pliku to <b>*.gif</b>, <b>*.jpg</b> lub <b>*.png</b>. ';
  33.  
  34. if (isset($_FILES['plik']['name'], $_FILES['plik']['type']))  
  35. {
  36.  
  37.  
  38. if ($wielkoscpliku >= $rozmiar){
  39.  
  40. $errorq=1;
  41. $echoerror = "wielkość za duża";
  42.  
  43. }
  44.  
  45. if ($rozm[1] != $wys or $rozm[0] != $szer){
  46.  
  47. $errorq=1;
  48. $echoerror = $echoerror2;
  49. }
  50.  
  51. if ($_FILES['plik']['type'] != 'image/gif' AND $_FILES['plik']['type'] != 'image/jpeg' AND $_FILES['plik']['type'] != 'image/png' AND $_FILES['plik']['type'] != 'image/pjpeg' AND $_FILES['plik']['type'] != 'image/x-png')
  52.  
  53. {
  54.  
  55. $errorq=1;
  56. $echoerror = $echoerror2;
  57.  
  58.  
  59. }
  60.  
  61.  
  62. if ($errorq==0) {
  63.  
  64. if(move_uploaded_file($_FILES['plik']['tmp_name'], $katalog.$nowanazwa.$explode2)){
  65.  
  66.  
  67.  
  68.  
  69. $save = ''.$katalog.'m_'.$nowanazwa.$explode2.'';
  70.  
  71. $file = ''.$nowanazwa.$explode2.'';
  72.  
  73. $plikqw = pathinfo ($file);
  74. $rozszerzenie = $plikqw["extension"];
  75.  
  76. If ($rozszerzenie== "gif"){$polecenie = "ImageCreateFromGIF";}
  77. If ($rozszerzenie== "jpg"){$polecenie = "ImageCreateFromJPEG";}
  78. If ($rozszerzenie== "jpeg"){$polecenie = "ImageCreateFromJPEG";}
  79. If ($rozszerzenie== "png"){$polecenie = "ImageCreateFromPNG";}
  80.  
  81. list($width, $height) = getimagesize($file) ;
  82. $modwidth = '45';
  83. $modheight = '60';
  84. $tn = imagecreatetruecolor($modwidth, $modheight) ;
  85. $image = $polecenie($file) ;
  86. imagecopyresampled($tn, $image, 0, 0, 0, 0, $modwidth, $modheight, $width, $height) ;
  87.  
  88. imagejpeg($tn, $save, 100) ;
  89.  
  90. $echoerror = 'Plik zostal wysłany! ';
  91. ?>


I wszytko jest ok, poza miniatura, zamiast niej jest pomniejszony czarny obrazek.
nospor
plik kopiujesz do: $katalog.$nowanazwa.$explode2
ale do tworzenia miniatury bierzesz juz: $file = ''.$nowanazwa.$explode2.'';

No patrz troche. A najlepiej wlacz wyswietlanie wszystkich bledow
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.