Jak zrobić miniatury za pomocą PHP
Więc chcesz utworzyć miniaturę z danego obrazu ... PHP czyni to zadanie łatwe. I pierwszy napisał funkcji poniżej do czynienia z obrazów przesłanych przez użytkowników w miejscu mogę pomóc zarządzać. Przesłane zdjęcia na tej stronie można JPEG, PNG lub GIF, więc musiałem napisać funkcję do czynienia z wszystkich trzech. Kod ten jest od początku w oparciu o funkcję na stronie webcheatsheet.com
Jak to zrobić:
createThumbs funkcja ($ pathToImages, $ fname, $ pathToThumbs, $ thumbWidth)
(
/ / Parse ścieżka do rozszerzenia
$ Info = pathinfo ($ pathToImages. $ Fname);
/ / Dalej tylko wtedy, gdy jest to obraz JPEG
($info['extension']) == 'jpeg') ) if ((strtolower ($ info "rozszerzenie [']) ==' jpg ') | | (strtolower ($ info" rozszerzenie [']) == 'jpeg'))
(/ / Załaduj obrazek i odbieraj rozmiarze
$ Img = imagecreatefromjpeg ("($ pathToImages) ($ fname)");
$ Width = imagesx ($ img);
$ Height = imagesy ($ img);/ / Obliczenie rozmiaru miniatur
= $ $ New_width thumbWidth;
$ New_height = floor ($ wysokosc * ($ thumbWidth / $ szerokosc));/ / Tworzy nowy obraz tymczasowego
$ Tmp_img = imagecreatetruecolor ($ new_width, $ new_height);/ / Kopiowanie i zmiana rozmiaru obrazu do starego obrazu
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, $ new_height, $ szerokosc, $ wysokosc);/ / Zapisujemy do pliku thumbnail
imagejpeg ($ tmp_img "($ pathToThumbs) ($ fname)");)
if (strtolower ($ info "rozszerzenie [']) ==' gif ')
(/ / Załaduj obrazek i odbieraj rozmiarze
$ Img = imagecreatefromgif ("($ pathToImages) ($ fname)");
$ Width = imagesx ($ img);
$ Height = imagesy ($ img);/ / Obliczenie rozmiaru miniatur
= $ $ New_width thumbWidth;
$ New_height = floor ($ wysokosc * ($ thumbWidth / $ szerokosc));/ / Tworzy nowy obraz tymczasowego
$ Tmp_img = imagecreatetruecolor ($ new_width, $ new_height);/ / Kopiowanie i zmiana rozmiaru obrazu do starego obrazu
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, $ new_height, $ szerokosc, $ wysokosc);/ / Zapisujemy do pliku thumbnail
imagegif ($ tmp_img "($ pathToThumbs) ($ fname)");)
if (strtolower ($ info "rozszerzenie [']) ==' png ')
(/ / Załaduj obrazek i odbieraj rozmiarze
$ Img = imagecreatefrompng ("($ pathToImages) ($ fname)");
$ Width = imagesx ($ img);
$ Height = imagesy ($ img);/ / Obliczenie rozmiaru miniatur
= $ $ New_width thumbWidth;
$ New_height = floor ($ wysokosc * ($ thumbWidth / $ szerokosc));/ / Tworzy nowy obraz tymczasowego
$ Tmp_img = imagecreatetruecolor ($ new_width, $ new_height);/ / Kopiowanie i zmiana rozmiaru obrazu do starego obrazu
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, $ new_height, $ szerokosc, $ wysokosc);/ / Zapisujemy do pliku thumbnail
imagepng ($ tmp_img "($ pathToThumbs) ($ fname)");)
)
Jak to działa
CreateThumbs funkcja przyjmuje cztery argumenty.
- $ PathToImages -> Ścieżka do folderu plik obrazu jest w. Może to wyglądać tak: / home / content / nazwa_użytkownika / html / list / uploads /
- $ Fname -> Nazwa pliku: pic1.gif, johnny.jpg, itp ...
- $ PathToThumbs -> Ścieżka do folderu miniaturę się w. wy tego nie chcecie to za tą samą ścieżką co $ pathToImages, ponieważ miniatury będą miały taką samą nazwę jak oryginalny obraz.
- $ ThumbWidth -> żądaną szerokość na miniaturę, aby być w pikselach.
Ważna uwaga, że należy zrobić o to, że ta funkcja nie ma nic na miejscu, innych niż sprawdzić rozszerzenie pliku, aby upewnić się, że pliki graficzne nie zawierają żadnych szkodliwych. Ponieważ pliki createThumbs () działa już przesłane zakłada się, że pliki zostały poprawnie kontroli.
Pierwszy createThumbs rzeczy () nie jest wezwanie pathinfo () . pathinfo () przerywa części trasy do tablicy. Jest to przydatne do nas, bo musimy rozszerzenie pliku poprawnie tworzyć miniatury. Następna createThumbs () sprawdza, czy mamy do czynienia z jpeg. Jeśli oryginalny plik jpeg jest createThumbs tworzy nowy wizerunek w oparciu o oryginalny obraz z imagecreatefromjpeg () . Następnym krokiem jest, aby szerokość i wysokość tego obrazu ( imagesx () , imagesy () ). Korzystanie $ thumbWidth i stosunek oryginalna szerokość i wysokość createThumbs () ustawia nową szerokość i wysokość miniaturki. Korzystając z nowych wskaźników createThumbs () tworzy "pusty" obraz, który będzie tę samą szerokość i wysokość Obraz z imagecreatetruecolor () . imagecopyresized () służy do zmiany rozmiaru obrazu i zapisanie go w "puste" właśnie stworzyliśmy. imagecopyresized () może wydawać się że ma dużo parametrów, ale jeśli spojrzeć na dokumentację to naprawdę nie jest skomplikowane. Teraz, że istnieje jako miniatur prawdziwy obraz kolor wszystkich createThumbs musi zrobić, to przekonwertować plik w formacie jpeg. Aby to zrobić imagejpeg () jest tzw.
W ten sposób funkcja działa dla JPEG. Są minimalne różnice w. PNG i. Gify.








































