piszę skrypt nakładania znaku wodnego na uploadowane zdjęcia. Sam skrypt działa poprawnie, nakłada znak na obrazek, itd. Jednak teraz gdy przyszło mi to zintegrować z Joomlą, zaczęły się pojawiać problemy. Skrypt niby nie wyrzuca błędów, dodaje poprawnie obrazek, ale bez znaku wodnego.
Żeby było łatwiej i czytelniej, zrobiłem funkcję odpowiadającą za umieszczanie znaku wodnego. Oto ona:
function watermarkImage($location, $type) { //get file type $image_type = $pic_upload['tmp_name']; //load watermark image $watermark = imagecreatefromgif("http://modbase.pl/logo.png"); $watermark_height = imagesy($watermark); $watermark_width = imagesx($watermark); $image = imagecreatetruecolor($watermark_width, $watermark_height); switch( $image_type ) { case "image/png": $image = imagecreatefrompng($location); break; case "image/gif": $image = imagecreatefromgif($location); break; case "image/jpeg": $image = imagecreatefromjpeg($location); break; default: } //get image size $x_pos = $size[0] - $watermark_width - 30; $y_pos = $size[1] - $watermark_height - 30; //save imagecopymerge($image, $watermark, $x_pos, $y_pos, 0, 0, $watermark_width, $watermark_height, 60); imagejpeg($image, $location); imagedestroy($image); imagedestroy($watermark); }
A teraz kod joomli odpowiadający za upload obrazków + wywołanie funkcji nakładającej znak wodny:
$pic_types = 'gif|jpg|png'; if($pic_upload['tmp_name']!=''){ // replace special chars in filename $pic_filename = checkFileName($pic_upload['name']); // rename the file with date $pic_filename = $zmienna1.'_'.$pic_date.'_www_ModBase_PL_'.$pic_filename; $target_path = JPATH_SITE.'/images/jdownloads/screenshots/'.$pic_filename; //watermark $image_uploaded = $pic_filename; $image_uploaded_temp = $pic_upload['tmp_name']; $type = $pic_upload['tmp_name']; watermarkImage("/images/jdownloads/screenshots/$pic_filename", $pic_upload['tmp_name']); // set chmod @chmod($target_path, 0655); // create thumb create_new_thumb($target_path); } } }
Nie mam pojęcia co może być przyczyną, dlatego zwracam się do Was z prośbą co robić.
Pozdrawiam.