Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Jak użyć funkcji do tworzenia miniatur
honytowk
post 28.05.2010, 22:19:17
Post #1





Grupa: Zarejestrowani
Postów: 90
Pomógł: 3
Dołączył: 11.09.2008
Skąd: Gliwice

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


Witam, mógł by mi ktoś wytłumaczyć jak użyć tej funkcji do tworzenia miniatur gd?

  1. function createthumbnail($filetype, $origfile, $thumbfile, $new_w, $new_h) {
  2.  
  3. global $settings;
  4.  
  5. if ($filetype == 1) { $origimage = imagecreatefromgif($origfile); }
  6. elseif ($filetype == 2) { $origimage = imagecreatefromjpeg($origfile); }
  7. elseif ($filetype == 3) { $origimage = imagecreatefrompng($origfile); }
  8.  
  9. $old_x = imagesx($origimage);
  10. $old_y = imagesy($origimage);
  11.  
  12. if ($old_x > $new_w || $old_y > $new_h) {
  13. if ($old_x < $old_y) {
  14. $thumb_w = round(($old_x * $new_h) / $old_y);
  15. $thumb_h = $new_h;
  16. } elseif ($old_x > $old_y) {
  17. $thumb_w = $new_w;
  18. $thumb_h = round(($old_y * $new_w) / $old_x);
  19. } else {
  20. $thumb_w = $new_w;
  21. $thumb_h = $new_h;
  22. }
  23. } else {
  24. $thumb_w = $old_x;
  25. $thumb_h = $old_y;
  26. }
  27.  
  28. if ($settings['thumb_compression'] == "gd1") {
  29. $thumbimage = imagecreate($thumb_w,$thumb_h);
  30. $result = imagecopyresized($thumbimage, $origimage, 0, 0, 0, 0, $thumb_w, $thumb_h, $old_x, $old_y);
  31. } else {
  32. $thumbimage = imagecreatetruecolor($thumb_w,$thumb_h);
  33. $result = imagecopyresampled($thumbimage, $origimage, 0, 0, 0, 0, $thumb_w, $thumb_h, $old_x, $old_y);
  34. }
  35.  
  36. touch($thumbfile);
  37.  
  38. if ($filetype == 1) { imagegif($thumbimage, $thumbfile); }
  39. elseif ($filetype == 2) { imagejpeg($thumbimage, $thumbfile); }
  40. elseif ($filetype == 3) { imagepng($thumbimage, $thumbfile); }
  41. }


użyłem jej tak:
  1. <?php
  2. require_once "maincore.php";
  3. require_once INCLUDES."photo_functions_include.php";
  4.  
  5. createthumbnail("jpg", "images/photoalbum/useralbum_48/a", "images/photoalbum/useralbum_48/a_t.jpg", "100", "100");
  6.  
  7.  
  8. ?>


i jak wejdę w plik z pozycji przeglądarki to wyskakują błędy a funkcja w 100% działa
Go to the top of the page
+Quote Post
tehaha
post 28.05.2010, 22:25:50
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


nie analizowałem kodu, ale tak z samej nomenklatury wynika, że drugi parametr przekazywany do funkcji to ścieżka do oryginalnego pliku graficznego, a Ty wstawiłeś "images/photoalbum/useralbum_48/a", co zdjęciem nie jest, może miało być "images/photoalbum/useralbum_48/a.jpg"?
Go to the top of the page
+Quote Post
honytowk
post 28.05.2010, 22:35:24
Post #3





Grupa: Zarejestrowani
Postów: 90
Pomógł: 3
Dołączył: 11.09.2008
Skąd: Gliwice

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


z rozszerzeniem również nie działa
Go to the top of the page
+Quote Post
tehaha
post 28.05.2010, 22:39:13
Post #4





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


ok widzę jeszcze jeden szczegół przy filetype wpisujesz 'jpg', natomiast skrypt sprawdza czy jest to 1,2 lub 3, tak więc dla jpg spróbuj wpisać 2 bez apostrofów, i oczywiście sprawdź z podanym rozszerzeniem .jpg dla drugiego parametru funkcji

Ten post edytował tehaha 28.05.2010, 22:40:15
Go to the top of the page
+Quote Post
mls
post 28.05.2010, 22:40:11
Post #5





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

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


Po pierwsze - jakie błędy wyświetla PHP?
Po drugie:
  1. createthumbnail(2, "images/photoalbum/useralbum_48/a.jpg", "images/photoalbum/useralbum_48/a_t.jpg", 100, 100);


Ten post edytował mls 28.05.2010, 22:40:46


--------------------
Go to the top of the page
+Quote Post
honytowk
post 28.05.2010, 22:51:56
Post #6





Grupa: Zarejestrowani
Postów: 90
Pomógł: 3
Dołączył: 11.09.2008
Skąd: Gliwice

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


  1. createthumbnail(2, "images/photoalbum/useralbum_48/a.jpg", "images/photoalbum/useralbum_48/a_t.jpg", 100, 100);

jak dalem tak to nic nie wyswietla ale miniatury nie utworzylo
Go to the top of the page
+Quote Post
mls
post 28.05.2010, 22:57:32
Post #7





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

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


To może jeszcze łaskawie sprawdź, czy w ogóle istnieje taki plik jaki podajesz jako parametr...


--------------------
Go to the top of the page
+Quote Post
honytowk
post 28.05.2010, 23:02:31
Post #8





Grupa: Zarejestrowani
Postów: 90
Pomógł: 3
Dołączył: 11.09.2008
Skąd: Gliwice

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


Plik:
  1. images/photoalbum/useralbum_48/a.jpg
istnieje
tak samo
  1. require_once "maincore.php";
  2. require_once INCLUDES."photo_functions_
  3. include.php";
Go to the top of the page
+Quote Post
tehaha
post 28.05.2010, 23:05:06
Post #9





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


a czy ścieżka jest prawidłowa względem tego skryptu? wpisz te linijki i odpal:
  1. if(file_exists('images/photoalbum/useralbum_48/a.jpg'))
  2. {
  3. echo "tak";
  4. } else
  5. {
  6. echo "nie";
  7. }


jeśli to nadal nie pomoże, to upewnij się, że masz odpowiedni CHMOD zezwalający na tworzenie pliku przez skrypt, i spróbuj usunąć tą linijkę: touch($thumbfile);

Ten post edytował tehaha 28.05.2010, 23:08:42
Go to the top of the page
+Quote Post
honytowk
post 28.05.2010, 23:17:43
Post #10





Grupa: Zarejestrowani
Postów: 90
Pomógł: 3
Dołączył: 11.09.2008
Skąd: Gliwice

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


Wyświetla Tak

ok już sobie poradziłem winksmiley.jpg
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: 19.07.2025 - 19:33