Ben bir url alır ve görüntüyü yeniden boyutlandırmak ve ancak script klasörü oluşturmak için gerektiğinde çalıştırmak için yaklaşık .85 saniye alıyor ve yeniden boyutlandırma üzerinde 0,64 saniyedir benim yerel üzerinde saklamak için küçük bir fonksiyon yazdım. Aşağıda görüldüğü gibi şu anda JPEG ve PNG desteklemiştir.
Ben bu i benim için kabul edilemez olan var şu zamanlarda olduğu gibi, uzun sürüyor yapıyorum hızlı bir yöntem ya da bir şey olup olmadığını merak ediyorum, gerçekten bu hızlı yürütmek için almak istiyorum.
Herhangi bir düşünce / fikir büyük takdir edilmektedir.
Teşekkür ederiz!
function getTime() {
$timer = explode( ' ', microtime() );
$timer = $timer[1] + $timer[0];
return $timer;
}
function createThumb($thumb, $ids){
$start = getTime();
// File and new size
$filename = $thumb;
// Get new dimensions
$img1 = getimagesize($filename);
if ($img1[0] > $img1[1]) {
$percentage = ('72' / $img1[0]);
} else {
$percentage = ('72' / $img1[1]);
}
$new_width = $img1[0] * $percentage;
$new_height = $img1[1] * $percentage;
// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
if($img1['mime']=='image/png'){
$image = imagecreatefrompng($filename);
imagealphablending($image_p, false);
imagesavealpha($image_p,true);
$transparent = imagecolorallocatealpha($image_p, 255, 255, 255, 127);
imagefilledrectangle($image_p, 0, 0, $new_width, $new_height, $transparent);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $img1[0], $img1[1]);
}
else {
$image = imagecreatefromjpeg($filename);
}
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $img1[0], $img1[1]);
$imgPath = '/foo/bar/location/'.$ids;
$imgName ='';
//category, product, support
if(!is_dir($imgPath)) {
mkdir($imgPath, 0777);
chmod($imgPath, 0777);
}
if(!is_file($imgPath."/index.html")){
$ourFileName = $imgPath."/index.html";
$ourFileHandle = fopen($ourFileName, 'w') or die("can't open file");
fwrite($ourFileHandle,'<html><body>401</body></html>');
fclose($ourFileHandle);
}
// Output
if($img1['mime']=='image/png'){
$name = rand(1, 156406571337);
$imgName = date("y_m_d_h_m_s").$name.'.png';
imagepng($image_p, $imgPath.'/'.$imgName);
} else {
$name = rand(1, 156406571337);
$imgName = date("y_m_d_h_m_s").$name.'.jpg';
imagejpeg($image_p, $imgPath.'/'.$imgName, 100);
}
$end = getTime();
echo '<strong>createImage</strong>: '.round($end - $start,4).' seconden<br />';
exit;
return $imgName;
}