Advertisement
Guest User

Untitled

a guest
Dec 1st, 2016
511
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.13 KB | None | 0 0
  1. И так, что умеем:
  2. 1. Умеем работать только из консоли (CLI)
  3. 2. Умеем работать со списком API ключей, берем из файла и перебираем. Если один ключ закончился, берем следующий. Если все закончились - прекращаем работу!
  4. 3. Умеем формировать лог в CSV для дальнейшего удобного анализа в Excel
  5.  
  6. Как пользоваться?
  7. 1. Качаем архив https://cloud.mail.ru/public/DUwb/RWu3fywXZ
  8. 2. Распаковываем содержимое в корень Симплы
  9. 3. В файле keys.txt суем свои API ключи (каждый ключ новой строкой)
  10. 4. Даем права на выполнение: chmod +x tinify.php
  11. 5. При необходимости правим в файле tinify.php первой строкой путь к PHP:
  12. #!/usr/bin/php
  13. 6. Запускаем: ./tinify.php <path>
  14. Где <path> это путь к каталогу, относительно расположения скрипта, в котором необходимо обработать изображения.
  15. Например, если вы поместили папку со скриптом в корень симплы и необходимо обработать каталог products с изображениями товаров, то запускаем так: ./tinify.php ../files/products
  16. 7. Запуск: ./tinify.php -h выведет хелп
  17.  
  18. Принцип работы с ключами
  19. Скрипт читает keys.txt и берет от туда ключи. При запуске берет первый ключ, пробуем им работать, если все ок, переходит к следующему найденному изображению в каталоге. Если обработка изображения не прошла, меняет ключ на следующий и пробует опять этот же файл с изображением. Если не один из приведенных ключей более не может работать, работа скрипта завершается с уведомлением в консоле.
  20.  
  21. Принцип работы оптимизатора
  22. Скрипт ищет в каталоге, который был указан ему при запуске, все файлы изображений jpg, jpeg, png. Скрипт проверяет наличие в этом каталоге подкаталога .tinypng и если такого нет - создает. Для каждого найденного файла с изображением скрипт ищет файл с аналогичным именем + окончанием .tiny в подкаталоге .tinypng. Если такой файл найден, скрипт читает его содержимое. В нем хранится размер изображение (число в байтах). Если такого файла в подкаталоге .tinypng нет, или размер изображения в нем меньше фактического файла с изображением, то происходит сжатие файла. Новый сжатый файл заменяется старым, так же в подкаталоге .tinypng создается (или перезаписывается) файл с аналогичным названием + окончание .tiny где указывается новый размер сжатого файла.
  23. Тем самым, с каждым запуском скрипта обработке поддаются только те файлы, которые ранее не сжимались.
  24. По окончании работы скрипта создается подробный лог файл в CSV для удобного анализа в Excel
  25.  
  26. Скорость работы скрипта на моем тестовом хосте ~50 изображений в минуту.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement