Opublikowany w PHP
Czy masz problem z szybkością witryny? Następnie należy rozważyć optymalizację obrazów witryny. Ciężkie obrazy spowalniają działanie witryny. Więc jakie jest rozwiązanie? Prosty. Użyj TinyPNG, aby skompresować obrazy. W tym poście pokażę, jak kompresować obrazy za pomocą TinyPNG.
Zbudowałem skrypt PHP, który masowo kompresuje obrazy za pomocą TinyPNG API. Użyj go i sprawdź wydajność swojej witryny. Będzie lepiej, gdy zmniejszymy rozmiar obrazu.
Aby rozpocząć, musisz uzyskać klucz API, rejestrując się, podając swoje imię i nazwisko oraz adres e-mail.
Zakładam, że masz dużą liczbę obrazów, które trzeba skompresować. Utwórz więc dwa foldery „nieskompresowane" i „skompresowane”. Przechowuj wszystkie swoje obrazy w „nieskompresowanym” folderze. Wszystkie zoptymalizowane obrazy będziemy przechowywać na bieżąco w folderze „skompresowanym”.
Otwórz wiersz polecenia w katalogu głównym projektu i uruchom polecenie:
composer require tinify/tinify
Zainstaluje bibliotekę TinyPNG w twoim projekcie, dzięki czemu będziesz mógł wywoływać ich interfejsy API.
Uwaga: TinyPNG pozwala na kompresję 500 obrazów za darmo miesięcznie. W przypadku ponad 500 zdjęć musisz zapłacić za ich usługę.
Po zainstalowaniu biblioteki utwórz index.php
plik i dodaj do niego poniższy kod.
<?php
set_time_limit(0);
require_once("vendor/autoload.php");
TinifysetKey("TINYPNG_API_KEY");
$dir = 'uncompressed/';
$images = scandir($dir);
$images = array_diff($images, array('.', '..'));
foreach ($images as $image) {
$source = TinifyfromFile($dir.$image);
$source->toFile("compressed/".$image);
}
echo "All images are compressed.";
Zastąp symbol zastępczy TINYPNG_API_KEY swoim rzeczywistym kluczem. Tutaj przechowujemy zoptymalizowane obrazy w „skompresowanym” folderze. Jeśli chcesz zastąpić oryginalne obrazy zoptymalizowanym, zmień poniższą linię
$source->toFile("compressed/".$image);
Z
$source->toFile($dir.$image);
Otóż to! Śmiało i uruchom swój adres URL w przeglądarce. Skompresuje twoje obrazy, a wydajność witryny powinna się poprawić.
Mam nadzieję, że rozumiesz, jak kompresować obrazy za pomocą TinyPNG API w PHP. Chciałbym usłyszeć wasze przemyślenia i sugestie w sekcji komentarzy poniżej.
Powiązane artykuły
- Jak zoptymalizować obraz podczas przesyłania w PHP
- Prześlij i skompresuj wiele obrazów w PHP
- Przewodnik po przesyłaniu i kompresowaniu obrazów w Laravel