этого сценарий будет загружать изображение, а затем сохранить локальную копию для кэшированияPHP: изменение размера изображений перед кэшированием
header('Content-Type: image/png');
$imgpochette = $_GET['i'];
$ENABLE_CACHE = true;
$CACHE_TIME_HOURS = 744;
$CACHE_FILE_PATH = "pochette_album/$imgpochette.png";
if($ENABLE_CACHE && file_exists($CACHE_FILE_PATH) && (time() - filemtime($CACHE_FILE_PATH) < ($CACHE_TIME_HOURS * 60 * 60))) {
echo @file_get_contents($CACHE_FILE_PATH);
} else {
// Load the requested image
$imgdisplay = "http://www.pirate-punk.com/pochette.php?i=$imgpochette&display=1";
$image = imagecreatefromstring(file_get_contents($imgdisplay));
$width = "30";
$height = "30";
$new_image = imagecreatetruecolor($width, $height);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $width, $height, $image.getWidth(), $image.getHeight());
// Send the image
imagejpeg($image, $CACHE_FILE_PATH);
exit();
@file_put_contents($CACHE_FILE_PATH, $output);
echo $output;
}
как я могу изменить размер изображения до 300x300px перед сохранением его?
Возможный дубликат [изменить размер png/jpeg изображение] (http://stackoverflow.com/questions/10263171/resize-png-jpeg-image) – Orangepill
i up от моего кода с функцией imagecopyresampled, но теперь я получаю сообщение о том, что изображение невозможно отобразить, потому что оно содержит ошибки. – libertaire