0
我想從特定文件夾中獲取圖像的文件大小,之後進行優化。無法得到新的圖像大小PHP
我得到相同的尺寸爲$imgsize
以及$newsize
即使後者出現後,他們的圖像進行了優化。我真正想要的是它讓我看到新的尺寸,而不是舊的!
$array
對圖像的URL列表(絕對URL,屬於另一個服務器)
(也讓我知道,這是罰款,我在這部分$optimized_image= compress_image($path, $path, 50);
優化尺寸後更換相同的圖像) ?
這裏是我的代碼:
$f_path='newfolder';
foreach ($array as $imglink)
{
$image = file_get_contents($imglink);
$path= $f_path . "/" . basename($imglink);
$new_image=file_put_contents($path , $image);
$imgsize = filesize($path);
$optimized_image= compress_image($path, $path, 50);
$newsize = filesize($path);
$percentage = ($imgsize/$newsize)*100;
echo $imgsize . "<br/>"; //this size appears fine
echo $newsize; //gives same size as above, no change!
}
這裏是我使用的壓縮圖像(這似乎完全正常工作對我來說)
function compress_image($src, $dest , $quality)
{
$info = getimagesize($src);
if ($info['mime'] == 'image/jpeg')
{
$image = imagecreatefromjpeg($src);
}
elseif ($info['mime'] == 'image/gif')
{
$image = imagecreatefromgif($src);
}
elseif ($info['mime'] == 'image/png')
{
$image = imagecreatefrompng($src);
}
else
{
die('uknown format');
}
imagejpeg($image, $dest, $quality);
}
我認爲你需要使用'clearstatcache' – 2014-09-27 20:07:01
完美!有效。謝謝!我將詳細檢查它是如何影響其他代碼的,但現在,我已經得到了我的解決方案。 – i333 2014-09-27 20:17:26