defence
Деклассированный элемент
imagecopy сохраняет "битую" картинку
Привет, люди! Трабл вот в чем: есть функция, которая накладывает лого на изображение (знаю, знаю, тема обсуждалась не раз
). Так вот, при первой загрузке страницы, все отображается нормально, но при повторной загрузке выдает ошибку:
Warning: imagecreatefromjpeg(): 'smallpics/43/56/2124.jpg' is not a valid JPEG file in /www/vhosts/.../catalog.php on line 161
Есть предположение, что функция imagecopy как-то криво сохраняет картинку. Пробовал и на локальном и на удаленном серверах.
Вот сама функция:
Народ, может кто сталкивался с подобной проблемой? Подскажите как ее решить?
Привет, люди! Трабл вот в чем: есть функция, которая накладывает лого на изображение (знаю, знаю, тема обсуждалась не раз

Warning: imagecreatefromjpeg(): 'smallpics/43/56/2124.jpg' is not a valid JPEG file in /www/vhosts/.../catalog.php on line 161
Есть предположение, что функция imagecopy как-то криво сохраняет картинку. Пробовал и на локальном и на удаленном серверах.
Вот сама функция:
PHP:
function echopic($imgsave, $imagefile, $imagesmall) {
global $cid, $sub, $rl;
$imagefile="smallpics/".$cid."/".$sub."/".$rl['smallpic']."";
$imgsave=$imagefile;
$imagesmall="icons/alpha_logo.png";
$img = imagecreatefromjpeg($imagefile);
// Если изображение создано
if ($img)
{
// копируем на него другое.
$img_sm = imagecreatefrompng($imagesmall);
// Определяем размеры копируемого изображения
$size = getimagesize($imagesmall);
$w = $size[0];
$h = $size[1];
// Определяем координаты
$coord = getimagesize($imagefile);
// Ось "OX"
$x = $coord[0]-$size[0];
// Ось "OY"
$y = $coord[1]-$size[1];
// Копируем одно изображение ($img_sm) на другое ($img)
$result = imagecopy($img, $img_sm, $x, $y, 0, 0, $w, $h);
if (!$result)
{
echo "Ошибка копирования изображения";
exit();
}
// Выводим изображение на экран
header("Content-type: image/png");
imagepng($img, $imgsave);
echo "<img src=".$imgsave.">";
imagedestroy($img);
}