Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Движок для галереи

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Движок для галереи
Имя
Сообщение << Старые топики   Новые топики >>
Движок для галереи - 2010-06-21 07:22:42.933333   
Ltonid

Сообщений: 4970
Оценки: 740
Присоединился: 2008-12-29 13:21:56.166666
Предстваляю самописный легкий движок для фото галерии.
Плюсы:
+ не зависит от имен файлов
+ не требует базы данных
+ быстрый
+ легко встравим в любой интерфейс
+ PHP+javasсriрt
Минусы:
- это только движок, украшательства самим приделывать.

Выкладываю архивом. В конфиге все расписано. Все файлы подробно откоментированы.
Пример можно посмотреть тут.
http://slil.ru/29371288
http://ifolder.ru/18252523
Post #: 1
RE: Движок для галереи - 2010-06-21 22:24:12.216666   
Agent Smith

Сообщений: 976
Оценки: 0
Присоединился: 2007-04-10 21:56:49.593333
Ему до движка, как свинье до неба. Вот я наваял.
&lt;? &nbsp;&nbsp; class Downloader{ &nbsp;&nbsp; var $smwidth=120; &nbsp;&nbsp; var $smheight=120; &nbsp;&nbsp; var $bigwidth=550; &nbsp;&nbsp; var $bigheight=550; &nbsp;&nbsp; var $min_width=300; &nbsp;&nbsp; var $min_height=300; &nbsp;&nbsp; var $quality=100; &nbsp;&nbsp; var $small_tumb=true; &nbsp;&nbsp; var $wotermark = false; &nbsp;&nbsp; var $wotermark_file=""; &nbsp;&nbsp; var $mark_x_coord=-20; &nbsp;&nbsp; var $mark_y_coord=-20; &nbsp;&nbsp; var $datadir="foto"; &nbsp;&nbsp; var $error=""; &nbsp;&nbsp; var $max_weight=0; &nbsp;&nbsp; var $fileinfo=""; &nbsp;&nbsp; var $output_type="0"; &nbsp;&nbsp; var $filename="0"; &nbsp;&nbsp; function Downloader($params=array()) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; function error($error) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp; if (!is_array($this-&gt;error)) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $this-&gt;error=array($error); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $this-&gt;error=array_merge($error, $this-&gt;error); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return false; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; function initialise($vars) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp; if (count($vars)!="0") &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; foreach($vars as $key=&gt;$value) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $this-&gt;$key=$value; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; function new_name($ext) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for ($n=48,$chars=array();$n&lt;=122;$n++) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {if (($n&gt;=48 and $n&lt;=57) or ($n&gt;=65 and $n&lt;=90) or ($n&gt;=97 and $n&lt;=122)) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {$chars[]=chr($n);}} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; do &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {for ($cnt=count($chars)-1,$rend=0,$somename="";$rend&lt;=16;$rend++) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {$result=mt_rand(0,$cnt); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $somename=$somename.$chars[$result]; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $name=$somename.".".$ext; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; While(is_file($this-&gt;datadir.$name)); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return $name; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; function upload($file, $id=null) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ($id==null) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {$up_filename=$_FILES['file']['name']; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $up_tmpfilename=$_FILES['file']['tmp_name']; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {$up_filename=$_FILES['file']['name'][$id]; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $up_tmpfilename=$_FILES['file']['tmp_name'][$id]; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (isset($up_filename) and $up_filename!="") &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {$this-&gt;datadir=rtrim($this-&gt;datadir, "/\\"); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!is_dir($this-&gt;datadir)) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {if (!mkdir($this-&gt;datadir,777)) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return $this-&gt;error(_LANG("note_dir_is_not_exist")); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $this-&gt;datadir .="/"; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $mimetype=exif_imagetype($up_tmpfilename); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; switch ($mimetype) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {case IMAGETYPE_GIF: &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $ext="gif"; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case IMAGETYPE_JPEG: &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $ext="jpg"; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case IMAGETYPE_PNG: &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $ext="png"; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; default: &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return $this-&gt;error(_LANG("note_not_valid")); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!$size=getimagesize($up_tmpfilename)) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {return $this-&gt;error(_LANG("note_no_size"));} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!$fotoksize=filesize($up_tmpfilename)) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {return $this-&gt;error(_LANG("note_no_size"));} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; If ($this-&gt;max_weight&gt;0 and ($fotoksize/1048576)&gt;$this-&gt;max_weight) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {return $this-&gt;error(sprintf(_LANG("note_file_limit_error"), $this-&gt;max_weight));} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ($this-&gt;min_width&gt;0 and intval($size[0])&lt;$this-&gt;min_width) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {return $this-&gt;error(sprintf(_LANG("note_file_width_error"), $this-&gt;min_width));} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ($this-&gt;min_height&gt;0 and intval($size[1])&lt;$this-&gt;min_height) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {return $this-&gt;error(sprintf(_LANG("note_file_height_error"), $this-&gt;min_height));} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $foto=$this-&gt;datadir.$this-&gt;new_name ($ext); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!copy($up_tmpfilename, $foto)) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {return $this-&gt;error(_LANG("note_file_server_error"));} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $fotoname=$this-&gt;resize($foto, $ext); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; @unlink ($foto); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return $fotoname; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {$this-&gt;error(_LANG("note_file_uploadding_error"));} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; function resize($file, $ext) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {list($width, $height) = $this-&gt;ration($file, $this-&gt;bigwidth, $this-&gt;bigheight); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $smallfoto=$this-&gt;new_name($ext); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $this-&gt;filename = $smallfoto; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $to=$this-&gt;datadir.$smallfoto; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $result=$this-&gt;get_image($file, $to, $width, $height, $ext, 1); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!$result) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {return $result;} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; elseif($this-&gt;small_tumb) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {list($width, $height) = $this-&gt;ration($file, $this-&gt;smwidth, $this-&gt;smheight); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $result=$this-&gt;get_image($file, $this-&gt;datadir."tumb".$smallfoto, $width, $height, $ext, 0); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!$result) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {return $result;} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {$this-&gt;fileinfo=getimagesize($to); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; @unlink($file); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return true;} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; function ration ($file, $re_width, $re_height) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {list($width, $height)=getimagesize($file); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $ratio_h=$re_height/$height; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $ratio_w=$re_width/$width; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ($ratio_h&gt;=1 and $ratio_w&gt;=1) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {$sm_width=$width; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $sm_height=$height; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {if ($ratio_h&lt;$ratio_w) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $sm_height=$re_height; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $sm_width=intval($ratio_h*$width); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $sm_width=$re_width; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $sm_height=intval($ratio_w*$height); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return array($sm_width, $sm_height); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; function get_image($file, $distination, $sm_width, $sm_height, $ext, $copyright=0) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {list($width, $height)=getimagesize($file); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; switch ($ext) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {case "gif": if (!$im=ImageCreateFromGif($file)) return $this-&gt;error(_LANG("note_file_processing"));break; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case "jpg": if (!$im=ImageCreateFromJpeg($file)) return $this-&gt;error(_LANG("note_file_processing"));break; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case "png": if(!$im=ImageCreateFromPng($file)) return $this-&gt;error(_LANG("note_file_processing")); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $dast&nbsp;&nbsp;&nbsp; = imagecreatetruecolor($sm_width, $sm_height); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $tc&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; = imageColorClosest($dast,0,255,0); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; imagecolorTransparent($dast, $tc); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!imagecopyresampled($dast, $im, 0, 0, 0, 0, $sm_width, $sm_height, $width, $height)) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; @unlink($file); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return $this-&gt;error(_LANG("note_file_processing")); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ($copyright and $this-&gt;wotermark_file!="") &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {if (is_file($this-&gt;wotermark_file)) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {$mimetype=exif_imagetype($this-&gt;wotermark_file); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; switch ($mimetype) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {case IMAGETYPE_GIF: if (!$wm=ImageCreateFromGif($this-&gt;wotermark_file)) return $this-&gt;error(_LANG("note_file_processing"));break; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case IMAGETYPE_JPEG: if (!$wm=ImageCreateFromJpeg($this-&gt;wotermark_file)) return $this-&gt;error(_LANG("note_file_processing"));break; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case IMAGETYPE_PNG:&nbsp; if (!$wm=ImageCreateFromPng($this-&gt;wotermark_file)) return $this-&gt;error(_LANG("note_file_processing")); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (isset($im)) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {$wm_image=getimagesize($this-&gt;wotermark_file); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ($wm_image[0]!=0 and $wm_image[1]!=0) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {if ($this-&gt;mark_x_coord&lt;0) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {$x=$sm_width-$wm_image[0]+$this-&gt;mark_x_coord;} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {$x=$this-&gt;mark_x_coord;} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ($this-&gt;mark_y_coord&lt;0) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {$y=$sm_height-$wm_image[1]+$this-&gt;mark_y_coord;} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {$y=$this-&gt;mark_y_coord;} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!imagecopyresampled($dast, $wm, $x, $y, 0, 0, $wm_image[0], $wm_image[1], $wm_image[0], $wm_image[1])) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; @unlink($file); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return $this-&gt;error(_LANG("note_file_processing")); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ($this-&gt;output_type!=0) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $ext=$this-&gt;output_type; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; switch ($ext) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case "gif": imagegif ($dast,$distination);break; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case "jpg": imageJpeg($dast,$distination, $this-&gt;quality);break; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case "png": imagepng ($dast,$distination);break; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; default: imageJpeg($dast,$distination, $this-&gt;quality);break; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; imageDestroy($im); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; imageDestroy($dast); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return true; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; } ?&gt;
Post #: 2
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Движок для галереи







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.