Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]miniatura zdjęcia
!*!
post 29.09.2008, 10:55:53
Post #1





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


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.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
nospor
post 29.09.2008, 11:02:53
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




plik kopiujesz do: $katalog.$nowanazwa.$explode2
ale do tworzenia miniatury bierzesz juz: $file = ''.$nowanazwa.$explode2.'';

No patrz troche. A najlepiej wlacz wyswietlanie wszystkich bledow


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 28.06.2025 - 22:48