我正在研究什么会减慢我的一些脚本。我有以下脚本,基本上是相同的,唯一的区别是一个在子文件夹中并使用$ _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);
?>
这是它产生的图像及其花费的时间:
脚本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);
?>
它产生的图像:
每次都保持相似,为什么在子目录中更快!?从1.15MB图像缩小(4512x3000)