2015-10-03 52 views
0

我試圖用這個PHP腳本進行圖像優化:https://github.com/psliwa/image-optimizer如何調用PHP psliwa圖像優化

但我認爲文檔是非常差的,這是所有它說:

$factory = new \ImageOptimizer\OptimizerFactory(); 
$optimizer = $factory->get(); 

$filepath = /* path to image */; 

$optimizer->optimize($filepath); 

但我真的不明白這種調用類爲「新」的方式,並獲取此錯誤時,我複製該代碼:致命錯誤:Class'ImageOptimizer \ OptimizerFactory'找不到... 什麼是我的錯誤?

+0

可能的複製[反斜槓在PHP中 - 這是什麼意思?](http://stackoverflow.com/questions/10788400/backslash-in-php-what-does-it-mean) – Djizeus

+0

可能重複的[反斜槓語法w母雞創建對象](http://stackoverflow.com/questions/4075521/backslash-syntax-when-creating-objects) – Prune

+0

我閱讀這些帖子,但我仍然不知道我做錯了什麼,我不能打電話正確的圖像優化器類。那是我的問題,那是我的問題。對不起,我不是專家。 –

回答

2

如果您不知所措,而且作曲家庫安裝不適合您,您可以從安裝文件夾中調用每一個庫。這是一個骯髒的方式,使用作曲家非常方便,但將工作。

添加到您的影像處理文件的頂部:

require "your_path/ImageOptimizer/Optimizer.php"; 
require "your_path/ImageOptimizer/OptimizerFactory.php"; 
require "your_path/ImageOptimizer/CommandOptimizer.php"; 
require "your_path/ImageOptimizer/Command.php"; 
require "your_path/ImageOptimizer/SuppressErrorOptimizer.php"; 
require "your_path/ImageOptimizer/ChainOptimizer.php"; 
require "your_path/ImageOptimizer/SmartOptimizer.php"; 
require "your_path/ImageOptimizer/TypeGuesser/TypeGuesser.php"; 
require "your_path/ImageOptimizer/TypeGuesser/SmartTypeGuesser.php"; 
require "your_path/ImageOptimizer/TypeGuesser/GdTypeGuesser.php"; 
require "your_path/ImageOptimizer/TypeGuesser/ExtensionTypeGuesser.php"; 
require "your_path/ImageOptimizer/Exception/Exception.php"; 
require "your_path/ImageOptimizer/Exception/CommandNotFound.php"; 

...然後調用方法所述:

$factory = new \ImageOptimizer\OptimizerFactory(); 
$optimizer = $factory->get(); 

$filepath = /* path to image */; 

$optimizer->optimize($filepath); 
//optimized file overwrites original one 

來源:https://github.com/psliwa/image-optimizer

+0

我剛剛意識到這個問題的年齡是多少 – Stephen

+0

感謝您的回答。你提到什麼是「作曲家庫安裝」?我發現圖書館的文檔很差。 –