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

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

18.02.2020, 01:39. Показов 1673. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru