创建相同的缩略图,一种方式更慢......为什么?

时间:2014-03-13 17:45:24

标签: php gd

我正在研究什么会减慢我的一些脚本。我有以下脚本,基本上是相同的,唯一的区别是一个在子文件夹中并使用$ _SERVER [' DOCUMENT_ROOT']来获取图像网址。

脚本1(C:/xampp/htdocs/ppa/test.php):

<?php
$time_start = microtime(true); 

ini_set("memory_limit", -1);
$im = imagecreatefromjpeg("data/images/20140310/4/test.jpg");

$ratio = 500 / imagesx($im);
$width = 500;
$height = imagesy($im) * $ratio;

//Create thumbnail container
$thumb = imagecreatetruecolor($width,$height);
imagecopyresampled($thumb,$im,0,0,0,0,$width,$height,imagesx($im),imagesy($im));    

$time_end = microtime(true);
$execution_time = "Took ".($time_end - $time_start)/60 ." to generate image";

$white = imagecolorallocate($im,255,255,255);
$font = "images/fonts/Calibri Bold.ttf";

imagettftext($thumb,15,0,20,20,$white,$font,$execution_time);

header("Content-Type: image/jpeg");
imagejpeg($thumb,"thumb.jpg",100);

imagedestroy($im);
?>

这是它产生的图像及其花费的时间: Root Gen

脚本2(C:/xampp/htdocs/ppa/benchmarking/generate_thumb.php):

<?php
$time_start = microtime(true); 

ini_set("memory_limit", -1);
$im = imagecreatefromjpeg($_SERVER['DOCUMENT_ROOT']."/ppa/data/images/20140310/4/test.jpg");

$ratio = 500 / imagesx($im);
$width = 500;
$height = imagesy($im) * $ratio;

//Create thumbnail container
$thumb = imagecreatetruecolor($width,$height);
imagecopyresampled($thumb,$im,0,0,0,0,$width,$height,imagesx($im),imagesy($im));    

$time_end = microtime(true);
$execution_time = "Took ".($time_end - $time_start)/60 ." to generate image";

$white = imagecolorallocate($im,255,255,255);
$font = $_SERVER['DOCUMENT_ROOT']."/ppa/images/fonts/Calibri Bold.ttf";

imagettftext($thumb,15,0,20,20,$white,$font,$execution_time);

header("Content-Type: image/jpeg");
imagejpeg($thumb,"thumb.jpg",100);

imagedestroy($im);
?>

它产生的图像:

enter image description here

每次都保持相似,为什么在子目录中更快!?从1.15MB图像缩小(4512x3000)

0 个答案:

没有答案