Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 1
Регистрация: 12.03.2018
Сообщений: 331

Использование библиотеки

18.02.2020, 01:39. Показов 1617. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Установил composer на Open server. Через него это https://github.com/spatie/imag... tion-tools

Написано

Usage
This is the default way to use the package:

use Spatie\ImageOptimizer\OptimizerChainFact ory;

$optimizerChain = OptimizerChainFactory::create();

$optimizerChain->optimize($pathToImage);

И я не понимаю как подключить эту библиотеку... Помогите
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.02.2020, 01:39
Ответы с готовыми решениями:

Использование С++ библиотеки
Добрый вечер. Как создать экземпляр класса из библиотеки на плюсах в шарпе ? C# компилятор говорит, что ClassesLibrary.Test...

Использование библиотеки С#
Привет товарищи, нужна ваша помощь Есть такой код вызывающий NET dll, крч мне нужно либу передать массивом, как мне это сделать ? ...

Использование C++ библиотеки в C#
А что делать, если есть только dll библиотека на неуправляемом с++? Тогда ее можно использовать в с#? Если да, то как?

16
 Аватар для D_Vik
368 / 234 / 68
Регистрация: 19.07.2016
Сообщений: 833
18.02.2020, 12:27
Конкретно что не понятно ? Если вы про use это импорт класса из пространства имён. Далее создаётся экземпляр класса Оптимайзер, далее у этого экземпляра вызывается метод Оптимайз, который скорее всего вернёт результат своей работы.

Добавлено через 4 минуты
Или оставит рядом с исходным файлом копию. Нужно смотреть как он работает.
0
0 / 0 / 1
Регистрация: 12.03.2018
Сообщений: 331
18.02.2020, 14:28  [ТС]
Как мне подключить эту библиотеку?
0
 Аватар для D_Vik
368 / 234 / 68
Регистрация: 19.07.2016
Сообщений: 833
18.02.2020, 14:42
use Это и есть импорт класса , потом просто используете его в файле куда импортировали. Как вы пользуетесь композером, если не знаете о пространстве имён ?
0
0 / 0 / 1
Регистрация: 12.03.2018
Сообщений: 331
18.02.2020, 15:51  [ТС]
Если я просто пишу
Usage
This is the default way to use the package:

use Spatie\ImageOptimizer\OptimizerChainFact ory;

$optimizerChain = OptimizerChainFactory::create();

$optimizerChain->optimize($pathToImage);
То выдаёт ошибку use. Покажите пример пожалуйста. Может надо namespace использовать...
0
 Аватар для D_Vik
368 / 234 / 68
Регистрация: 19.07.2016
Сообщений: 833
18.02.2020, 16:25
Ошибка какая ?
0
Заблокирован
18.02.2020, 16:35
в OSPanel не нужно устанавливать композер, она там идёт из коробки

нужно из консоли OSPanel зайти в папку, где этот скрипт и выполнить ЕМНИП composer update либо, если используется PhpStorm, то выбрать файл composer.json и вверху на появившейся панели выполнить install или update
0
 Аватар для D_Vik
368 / 234 / 68
Регистрация: 19.07.2016
Сообщений: 833
18.02.2020, 16:57
Здесь простой пример, как это работает :
Вложения
Тип файла: zip primer.zip (7.5 Кб, 7 просмотров)
1
0 / 0 / 1
Регистрация: 12.03.2018
Сообщений: 331
18.02.2020, 17:56  [ТС]
Почему у меня не работает?
Ошибка:
Parse error: syntax error, unexpected 'use' (T_USE) in E:\soft\open\OSPanel\domains\awebuy\load-poster-product.php on line 10

$filePath = $_FILES['product_poster']['tmp_name'];
require_once 'vendor/autoload.php';

use Spatie\ImageOptimizer\OptimizerChainFact ory;

$optimizerChain = OptimizerChainFactory::create();

$optimizerChain->optimize($filePath);


Файл vendor\spatie\image-optimizer\src\OptimizerChainFactory.php


Его содержимое

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
namespace Spatie\ImageOptimizer;
 
use Spatie\ImageOptimizer\Optimizers\Cwebp;
use Spatie\ImageOptimizer\Optimizers\Gifsicle;
use Spatie\ImageOptimizer\Optimizers\Jpegoptim;
use Spatie\ImageOptimizer\Optimizers\Optipng;
use Spatie\ImageOptimizer\Optimizers\Pngquant;
use Spatie\ImageOptimizer\Optimizers\Svgo;
 
class OptimizerChainFactory
{
    public static function create(): OptimizerChain
    {
        return (new OptimizerChain())
            ->addOptimizer(new Jpegoptim([
                '-m85',
                '--strip-all',
                '--all-progressive',
            ]))
 
            ->addOptimizer(new Pngquant([
                '--force',
            ]))
 
            ->addOptimizer(new Optipng([
                '-i0',
                '-o2',
                '-quiet',
            ]))
 
            ->addOptimizer(new Svgo([
                '--disable={cleanupIDs,removeViewBox}',
            ]))
 
            ->addOptimizer(new Gifsicle([
                '-b',
                '-O3',
            ]))
            ->addOptimizer(new Cwebp([
                '-m 6',
                '-pass 10',
                '-mt',
                '-q 80',
            ]));
    }
}
0
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
18.02.2020, 18:12
koks_ikkkk, $filePath укажите путь.

Добавлено через 2 минуты
PHP
1
2
3
4
5
6
7
8
9
10
<?php
define('ROOT', dirname(__FILE__));
require_once (ROOT. '/autoload.php');
use Spatie\ImageOptimizer\OptimizerChainFactory;
 
$optimizerChain = OptimizerChainFactory::create();
$pathToImage = "/home/user/Рабочий стол/Screenshot_1.png";
$pathToOutput = ROOT."/2.png";
$optimizerChain->optimize($pathToImage, $pathToOutput);
  ?>
Упсс... не заметил что вы указали путь к изображению.
1
0 / 0 / 1
Регистрация: 12.03.2018
Сообщений: 331
18.02.2020, 18:29  [ТС]
Спасибо. Всё работает, но он не сжимает. Может потому что в классе OptimizerChainFactory нет метода optimize? Из-за чего может быть?
0
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
18.02.2020, 18:38
koks_ikkkk, Пожалуйста. Сжимает.
Миниатюры
Использование библиотеки  
0
 Аватар для D_Vik
368 / 234 / 68
Регистрация: 19.07.2016
Сообщений: 833
18.02.2020, 18:43
Вот архив с вашей библиотекой.
Вложения
Тип файла: zip arhiv.zip (272.9 Кб, 7 просмотров)
0
0 / 0 / 1
Регистрация: 12.03.2018
Сообщений: 331
18.02.2020, 20:33  [ТС]
Если я использую как в архиве то работает, но начинаю точно так же подключать у себя. Не работает... Просто копирует(((

PHP
1
2
3
4
5
6
7
8
9
10
11
define('ROOT', dirname(__FILE__));
require_once (ROOT. '/vendor/autoload.php');
 
use Spatie\ImageOptimizer\OptimizerChainFactory;
 
$optimizerChain = OptimizerChainFactory :: create();
 
$pathToImage = ROOT. '\img\belka.jpg';
$pathOutImage = ROOT. '/img/shop/belka.jpg';
 
$optimizerChain -> optimize ($pathToImage, $pathOutImage);
Добавлено через 18 минут
с архивом теперь тоже не работает... Не понимаю

Добавлено через 42 минуты
Сделаю через imagejpeg, на много проще...
0
 Аватар для D_Vik
368 / 234 / 68
Регистрация: 19.07.2016
Сообщений: 833
19.02.2020, 13:13
Что именно не работает, сжатие ?
0
0 / 0 / 1
Регистрация: 12.03.2018
Сообщений: 331
19.02.2020, 13:15  [ТС]
Да,и и изображение просто копируется...
0
 Аватар для D_Vik
368 / 234 / 68
Регистрация: 19.07.2016
Сообщений: 833
19.02.2020, 14:17
Посмотрел немного что там за дела. Похоже, нужно еще устанавливать оптимизаторы изображений для windows к примеру, которые будет использовать данная библиотека. Там написано все в репозитории.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.02.2020, 14:17
Помогаю со студенческими работами здесь

Использование библиотеки Direct3D
Как при помощи этой библиотеки создавать объёмную фигуру произвольной формы, с учётом того, что есть источник света?

Использование библиотеки libcurl
Доброго времени суток, товарищи, никак не могу использовать библиотеку libcurl.... рассказываю, как делал: 1. качаю с оф сайте для...

Использование подключаемой библиотеки
Я хочу сделать библиотеки которые будут использовать несколько EXEшников в папке. Подскажите как мне это сделать? Добавлено через 1...

Использование C# библиотеки в C++ приложениях
Доброго времени суток. Возможно, скоро прилетит задача нетрадиционной ориентации. Суть - есть БОЛЬШОЙ проект на .Net умеющий общаться с...

Использование dll библиотеки
Есть билиотека dll. В ней должны быть две функции/процедуры(этот момент не ясен, также как и то, на чем писалась эта библиотека....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru