Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Miniaturki-problem z innymi typami
toni22
post 8.11.2004, 12:33:09
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 4.11.2004
Skąd: Stafford

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


Witam! mam mały problem, chodzi o miniaturki tworze je "w locie" czyli bez zadnego zapisywania smile.gif slzuzy mi do tego specjalnei stworzony plik :
Kod
<?php



$y = 60;
$x = 80;
$ImgSize = getimagesize($img);
$a = $ImgSize[1];
$b = $ImgSize[0];
$SrcImg = imagecreatefromjpeg($img);

$thumb = imagecreatetruecolor($x,$y);
imagecopyresampled($thumb,$SrcImg,0,0,0,0,$x,$y,$b,$a);
imagejpeg($thumb);
return $thumb;


?>


wszystko działa ładnie i spełnia moje oczekiwania gdy jest to plik jpg,jpeg, ALE exclamation.gif gdy w formularzu uploaduje plik np. gif, bmp , skrypt niedziała sad.gif pewnie trzeba cos dopisac heh PROSZ o pomoc!!


--------------------
Brak piwa == brak poprawnie napisanych skryptów
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
mike
post 8.11.2004, 14:50:35
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Nic dziwnego że nie działa.
1. Otwierasz gif'a albo png.
2. Zapisujesz go funkcją imagejpeg().
3. no i jest konflikt.

Może to ci pomoże rozwiązać problem http://forum.php.pl/index.php?showtopic=22304&hl=
Go to the top of the page
+Quote Post
Kuziu
post 8.11.2004, 15:20:28
Post #3





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


Funkcje:
imagecreatefromgif()
imagegif()

co do bitmap to zdaje mi sie że GD jeszcze ich nie obsługuje ... przynajmniej tych zwykłych które tworzy Paint Windows'owy ...


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
toni22
post 8.11.2004, 15:40:24
Post #4





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 4.11.2004
Skąd: Stafford

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


hmmm..... niejestem jeszcze snitch.gif dobry wpisaniu skryptów (początki) ale chodzi mi o cos takiego:

  1. <?php 
  2.  
  3.  
  4.  
  5. $y = 60; 
  6. $x = 80; 
  7. $ImgSize = getimagesize($img); 
  8. $a = $ImgSize[1]; 
  9. $b = $ImgSize[0]; 
  10. $typzdjecia = imagegettypes($img);
  11.  
  12. if($typzdjecia=JPG) {
  13.  
  14. $SrcImg = imagecreatefromjpeg($img); 
  15. $thumb = imagecreatetruecolor($x,$y); 
  16. imagecopyresampled($thumb,$SrcImg,0,0,0,0,$x,$y,$b,$a); 
  17. imagejpeg($thumb); 
  18. return $thumb; 
  19. }
  20.  
  21.  
  22. if($typzdjecia=GIF) {
  23.  
  24. $SrcImg = imagecreatefromgif($img); 
  25. $thumb = imagecreatetruecolor($x,$y); 
  26. imagecopyresampled($thumb,$SrcImg,0,0,0,0,$x,$y,$b,$a); 
  27. imagegif($thumb); 
  28. return $thumb;
  29.  
  30. }
  31.  
  32.  
  33.  
  34.  
  35. if($typzdjecia=PNG) {
  36.  
  37. $SrcImg = imagecreatefrompng($img); 
  38. $thumb = imagecreatetruecolor($x,$y); 
  39. imagecopyresampled($thumb,$SrcImg,0,0,0,0,$x,$y,$b,$a); 
  40. imagepng($thumb); 
  41. return $thumb;
  42.  
  43. }
  44.  
  45.  
  46.  
  47. ?>


Heh wiem ze to moze teraz wygladać śmiesznie, ale wlasnie niewiem jeszcze jak to zapisać poprawie (siedze teraz nadtym i przegladam podstawy)
a także niewiem jak pobrać informacjeo zdjęciu że np. gdy uzytkownik wysłał zdjęcie w formacie GIF.
No nic hmm.. ide dalej przeglądać , jeżeli ktoś może pomóc to byłbym wdzięczny gdyż zaoszczędzi mi to dużo czasu.(już doszedłem do paru rzeczy sam ale trwało to cholernie długo smile.gif


--------------------
Brak piwa == brak poprawnie napisanych skryptów
Go to the top of the page
+Quote Post
tiraeth
post 8.11.2004, 15:55:45
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


  1. <?php
  2. $y = 60;
  3. $x = 80;
  4. $ImgSize = getimagesize($img);
  5. $a = $ImgSize[1];
  6. $b = $ImgSize[0];
  7.  
  8. $n = explode('.', $img);
  9. $m = count($n);
  10. $m--;
  11. $typzdjecia = $n[$m];
  12.  
  13. if($typzdjecia == &#092;"jpg\" || $typzdjecia == \"jpeg\")
  14. {
  15. $SrcImg = imagecreatefromjpeg($img);
  16. $thumb = imagecreatetruecolor($x,$y);
  17. imagecopyresampled($thumb,$SrcImg,0,0,0,0,$x,$y,$b,$a);
  18. header('Content-type: image/jpeg');
  19. }
  20.  
  21.  
  22. elseif($typzdjecia == &#092;"gif\")
  23. {
  24. $SrcImg = imagecreatefromgif($img);
  25. $thumb = imagecreatetruecolor($x,$y);
  26. imagecopyresampled($thumb,$SrcImg,0,0,0,0,$x,$y,$b,$a);
  27. header('Content-type: image/gif');
  28. }
  29.  
  30. elseif($typzdjecia = &#092;"png\")
  31. {
  32. $SrcImg = imagecreatefrompng($img);
  33. $thumb = imagecreatetruecolor($x,$y);
  34. imagecopyresampled($thumb,$SrcImg,0,0,0,0,$x,$y,$b,$a);
  35. header('Content-type: image/png');
  36. }
  37. else
  38. {
  39. echo 'Typ pliku nie prawidłowy. Poprawne rozszezenia: JPG, JPEG, GIF, PNG';
  40. die;
  41. }
  42.  
  43. imagejpeg($thumb);
  44. imagedestroy($thumb);
  45. ?>


Jeżeli obrazek nie będzie jpg, gif albo png to wywali błąd tongue.gif
Proszę bardzo smile.gif Jeżeli nei bedzie działać to pisz... robione na szybko... z Twojego tongue.gif
Go to the top of the page
+Quote Post
Kuziu
post 8.11.2004, 16:45:46
Post #6





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


zdecydowanie lepiej skorzystać z typów MIME ...

Typ MIME poznaje format pliku po zawartości ... a nie po rozszeżeniu co jest zdecydowanie pewniejsze ... np. plik GIF o nazwie foto.jpg nie zadziała


gif => image/gif,
jpeg => image/jpeg,
jpg => image/jpeg,
jpe => image/jpeg,

  1. <?php
  2.  
  3. $file_type = $_FILES['nazwa_pola_w_formularzu']['type'];
  4.  
  5. if(file_type == &#092;"image/jpeg\" || file_type == \"image/pjpeg\" ..........){
  6.  
  7. }
  8.  
  9. ?>


Topic ze spisem typów MIME

Ten post edytował Kuziu 8.11.2004, 16:48:21


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
-maciek-
post 8.11.2004, 19:49:34
Post #7





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 25.10.2004

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


dobrym rozwiązaniem jest
Cytat
getimagesize
Returns an array with 4 elements. Index 0 contains the width of the image in pixels. Index 1 contains
the height. Index 2 a flag indicating the type of the image. 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 =
PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order, 9 = JPC, 10 = JP2, 11 =
JPX, 12 = JB2, 13 = SWC, 14 = IFF. These values correspond to the IMAGETYPE constants that
were added in php 4.3. Index 3 is a text string with the correct height="yyy" width="xxx" string that
can be used directly in an IMG tag.

wiem ze lepiej byloby po polsku ale nie chcialo mi sie tluamccyc po prostu 2 index zwraca typ pliku

Ten post edytował -maciek- 8.11.2004, 19:50:40


--------------------
Warsztat: Slackware 10 | Apache 2.0.52 | PHP 4.3.9 | MySQL 4.1.7 | PgSQL 7.4.6
Go to the top of the page
+Quote Post
toni22
post 10.11.2004, 12:30:14
Post #8





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 4.11.2004
Skąd: Stafford

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


Niewiem jeszcze czy bedzie dzialal twój skrypt TIRAETH ponieważ musze niestety jeszcze sie cofnąć aby mógł zadziałąć do poprzedniego skryptu który wrzuca mi plik na serwer.

  1. <?php
  2.  
  3. if (strlen($zdjecie)>4) {
  4. $kat=&#092;"id$IDdom\";
  5.  
  6. if (mkdir(&#092;"zdjecia/\" . $kat, 0777)) {
  7. mysql_query(&#092;"Update Dom set zdjecie=1 where ID_dom=$IDdom\" ,$dbh); 
  8.  
  9.  
  10. if (strlen($zdjecie)>4) {
  11.  
  12.  $uploaddir=&#092;"zdjecia/\" . $kat . \"/\" . 'zdjecie.jpg' ;
  13.  move_uploaded_file($_FILES['zdjecie']['tmp_name'], $uploaddir ); 
  14.  
  15.  
  16.  }
  17.  
  18. }
  19. }
  20.  
  21. ?>


Skrypt dziala prawidłowo ale jak widac , sprawdza nastepnie tworzy katalog i wrzuca do niego zdjecie w postaci <b>'zdjecie.jpg'</b> no i tu ma problem bo jak wrzucam plik GIF to tez jest zapisywany jako 'zdjecie.jpg' i znó tu mi potrzebna jest komenda która wyciągałą by z pliku np nazwe+rozszerzenie i pod ta nazwa wrzucala na serwer.Aha ale ręcznie wrzucilem plik GIF z ciekawosci ale skrypt który napisales niewyswietlil mi go.Wiem ze zamiast 'zdjecie.jpg' wystarczy zmienna wstawic np $nazwa no ale nieznam polecenia które by mi zwracało nazwe i rozszerzeni .Prosze o pomoc!!


--------------------
Brak piwa == brak poprawnie napisanych skryptów
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: 14.08.2025 - 05:22