Создание уменьшенной копии изображения при загрузке.

Все блоги / DLE движок для сайтов 21 июня 2014 635   
Создание уменьшенной копии изображения при загрузке.
И снова здравствуйте! Ка всегда после долгого гугления пишу сюда. В данный момент проблема такова: имеется уплоадер скриншотов и постеров. Который загружает картинки посредством js и php. Всё работает как часы. Хотел сделать что бы при загрузке изображения делалась миниатюры и загружались в нужные мне папки. В эти директории хочу грузить тумбы и оригиналы.

 php пока то что сделал

// Куда нужно загружать if ($screen == true) {     $upload_screens_big = ROOT_DIR . "/uploads/screens/big/" . $name . "_" . $ide . ".jpg"; // оригинал     $upload_screens_med = ROOT_DIR . "/uploads/screens/med/" . $name . "_" . $ide . ".jpg"; // уменьшенная копия     $upload_screens_sml = ROOT_DIR . "/uploads/screens/sml/" . $name . "_" . $ide . ".jpg"; // уменьшенная копия (102х160) }else{     $upload_poster_big = ROOT_DIR . "/uploads/anime/big/" . $name . "." . $path_parts['extension']; // оригинал     $upload_poster_med = ROOT_DIR . "/uploads/anime/med/" . $name . "." . $path_parts['extension']; // уменьшенная копия     $upload_poster_sml = ROOT_DIR . "/uploads/anime/sml/" . $name . "." . $path_parts['extension']; // уменьшенная копия (102х160) }

Очень долгое гугление выдало решение: Ниже приведу код создание тумба и наложение ватемарка стандартными возможностями dle.

 php

            if ($tumb != 0) {                 $imgsrcf = $upload_file;                 $imgtumb = $upload_file_thumb;                 if (!isset($imag))                     $imag = new thumbnail($imgsrcf);                 else                     $imag->thumbnail($imgsrcf);                 $imag->size_auto($tumb, $tumb_t);                 $imag->jpeg_quality($wap_config['jpeg_quality']);                 $imag->save($imgtumb);                 @chmod($imgtumb, 0777);             }             if ($wmo == "on") {                 $imgwaterm = $upload_file;                 if (!isset($imag))                     $imag = new thumbnail($imgwaterm);                 else                     $imag->thumbnail($imgwaterm);                 $imag = new thumbnail($imgwaterm);                 $imag->insert_watermark($config['max_watermark']);                 $imag->save($imgwaterm);                 @chmod($imgwaterm, 0777);             }

Разобраться со стандартным генератором dle не смог.

 php уплоадера

$allowed_extensions = array ("gif", "jpg", "png", "jpe", "jpeg" ); $path_poster = ROOT_DIR . "/uploads/anime/"; $path_screens = ROOT_DIR . "/uploads/screens/"; if( $_REQUEST['action'] == "uploadposter" ) {     $subaction = $_REQUEST['subaction'];     $name = $_FILES['uploadimg']['name']; // имя файла     $size = $_FILES['uploadimg']['size']; // размер файла     if(strlen($name)){         list($txt, $ext) = explode(".", $name);         if(in_array($ext,$allowed_extensions)){ // смотрим формат такой как мы разрешили?!             $actual_image_name = time().$session_id.".".$ext;             $tmp = $_FILES['uploadimg']['tmp_name'];             if(move_uploaded_file($tmp, $path_poster.$subaction."/".$actual_image_name)){                 echo "/uploads/anime/".$subaction."/".$actual_image_name;             }else                 echo "Ошибка загрузки!";         }else             echo "Ошибка типа файла!";     }else         echo "Ошибка имени файла!"; }elseif( $_REQUEST['action'] == "uploadscreen" ){     $subaction = $_REQUEST['subaction'];     $name = $_FILES['uploadimg']['name']; // имя файла     $size = $_FILES['uploadimg']['size']; // размер файла     if(strlen($name)){         list($txt, $ext) = explode(".", $name);         if(in_array($ext,$allowed_extensions)){ // смотрим формат такой как мы разрешили?!             $actual_image_name = time().$session_id.".".$ext;             $tmp = $_FILES['uploadimg']['tmp_name'];             if(move_uploaded_file($tmp, $path_screens.$subaction."/".$actual_image_name)){                 echo "/uploads/screens/".$subaction."/".$actual_image_name;             }else                 echo "Ошибка загрузки!";         }else             echo "Ошибка типа файла!";     }else         echo "Ошибка имени файла!"; }



 js часть кода

        if(type == "poster"){             $("#imageform").ajaxForm({                 url: dle_root+'engine/modules/waparser/poster_upload.php',                 data: { action: 'uploadposter' },                 type: "post",                 //target: '#xfield[poster]',                 success:    function(responseText, statusText, xhr, $form) {                     $('#add-poster').attr('src',responseText);                     $('.i-poster').attr('value',responseText);                     $("#posterupload").dialog('close');                 }             });         }else if(type == "screen"){             $("#imageform").ajaxForm({                 url: dle_root+'engine/modules/waparser/poster_upload.php',                 data: { action: 'uploadscreen' },                 type: "post",                 //target: '#xfield[poster]',                 success:    function(responseText, statusText, xhr, $form) {                     $("#screen_"+ids).attr('src',responseText);                     $(".screen_"+ids).attr('value',responseText);                     $("#posterupload").dialog('close');                 }             });         }

Буду благодарен если покажите на примере, да и вообще любом ответам. Заранее спасибо.
  • Оцените публикацию
  • 0

Похожие публикации

@
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent

Архив публикаций