Здравейте, имам проблем със един код за постери.
Кодът трябва да добавя снимка в папка /images/(името примерно : 182736128374.jpg) в реален размер, също така трябва да го добавя и в папка /images/thumbs/(името примерно thumb_182736128374.jpg) като постер със зададен размер 100x147 px. Но проблема е там че добавя само постера в реален размер, но не го добавя в зададен размер, папката /images/thumbs/ ми е празна. Моля помогнете
Ето го и кода create_poster.php
Кодът трябва да добавя снимка в папка /images/(името примерно : 182736128374.jpg) в реален размер, също така трябва да го добавя и в папка /images/thumbs/(името примерно thumb_182736128374.jpg) като постер със зададен размер 100x147 px. Но проблема е там че добавя само постера в реален размер, но не го добавя в зададен размер, папката /images/thumbs/ ми е празна. Моля помогнете
Ето го и кода create_poster.php
PHP:
<?php
////////////////////////// ОБЛОЖКА ////////////////////////////////
$server=getenv("HTTP_REFERER");
//Дефиниране на максимален размер за качената картинка
define ("MAX_SIZE","10000");
// Дефинирайте широчината и височината на малкото копие
define ("WIDTH","100");
define ("HEIGHT","147");
//Това е функцията, която ще създаде малкото копие от каченото изображение
// Оразмеряването ще бъде направено спрямо дефинираните широчината и височината,
//но без деформиране на изображението
function make_thumb($img_name,$filename,$new_w,$new_h)
{
//Получаване на разширението на снимката.
$ext=getExtension($img_name);
//Създава се ново изображение използваики подходяща функция от GD библиотеката
if(!strcmp("jpg",$ext) || !strcmp("jpeg",$ext))
$src_img=imagecreatefromjpeg($img_name);
if(!strcmp("png",$ext))
$src_img=imagecreatefrompng($img_name);
if(!strcmp("gif",$ext))
$src_img=imagecreatefromgif($img_name);
//Получаване на оразмеряването
$old_x=imageSX($src_img);
$old_y=imageSY($src_img);
// след което ще сметнем ново оразмеряване на малкото копие
// в следващите стъпки ще направим:
// 1. Смятаме съотношението, като заменим старото оразмеряване с ново.
// 2. Ако ширината е по-голяма, тя ще се промени до максимално зададената
// и височината така ще се сметне, че да не се развали оразмеряването.
// 3. В противен случай ще използваме височината на изображението
// като запазим оразмеряването.
$thumb_w=$new_w;
$thumb_h=$new_h;
// Създаваме нова картинка с новото оразмеряване
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
// оразмерете голямото изображение на новото и създаваме ново
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
// Извеждаме създаденото изображение към файла. Сега ще имаме малко копие на файла $filename
if(!strcmp("png",$ext))
imagepng($dst_img,$filename);
//Разрушава източника на изображението.
imagedestroy($dst_img);
imagedestroy($src_img);
}
// Тази функция чете разширението на файла.
// Тя е използвана да определи дали файла е картинка.
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
// Тази променлива е използвана като флаг.
//Стойността е инициализирана с 0 (Значи няма открити грешки)
//и ще се промени на 1 ако е намерена грешка. Тогава файла няма да се качи.
$errors=0;
/////////////////////// ОБЛОЖКА ///////////////////////////
?>