0
我使用REST API從商店獲取產品,大約有3k條記錄。不幸的是,我需要自己創建產品的縮略圖。爲此,我使用PHP的Imagine庫。
當我在下一個任務中插入/更新產品到數據庫後,我從數據庫中選擇所有記錄並嘗試爲每個產品創建縮略圖。
它的工作原理...但我能夠在120s(這是我的執行時間腳本)創建12個縮略圖。 12張縮略圖對我來說太低了,我想加快這個過程,但我該怎麼做?
所有縮略圖都是240x360px,每個縮略圖的大小約爲12KB。圖像操作。如何加快性能
下面是代碼,我用於生成縮略圖:
public function generateThumbnails($products)
{
$imagine = new Imagine();
$resize = 240/360;
foreach($products as $product)
{
if(!file_exists('data/thumbs/'.$product['productId'].'.jpg')){
$img = $imagine->open($product['productImage']);
$size = $img->getSize();
$width = $size->getWidth();
$height = $size->getHeight();
$newWidth = floor($height*$resize);
$cordX = $width/2-$newWidth/2;
if($cordX < 0)
$cordX = 0;
$img->crop(new Point($cordX, 0), new Box($newWidth, $height))->resize(new Box(240, 360))->save('data/thumbs/'.$product['productId'].'.jpg');
}
}
}
進出口運行在本地主機上(Windows 7的)這個腳本,它是一個基於Zend Framework的應用程序的一部分2 +學說2