Unofficial modifications
nieoficjalne modyfikacje for?w phpBB by Przemo

Modyfikacje mniejsze - Resize avatar on upload

T-kOrreD - Pon 12 Cze, 2006
Temat postu: Resize avatar on upload
Automatycznie dopasowuje avatar przy wgrywaniu, je?eli przekracza dozwolone rozmiary, zachowuj?c proporcje. Niestety nie zachowuje przy tym przezroczysto?ci.

Znajd? w includes/usercp_avatar.php:
Kod
if ( $width > 0 && $height > 0 && $width <= $board_config['avatar_max_width'] && $height <= $board_config['avatar_max_height'] )


Przed, dodaj:
Kod
if ( $width > $board_config['avatar_max_width'] )
{
$resize_to_width = $board_config['avatar_max_width'];
$resize_to_height = $board_config['avatar_max_width'] / $width * $height;
}
else
{
$resize_to_width = $width;
$resize_to_height = $height;
}
if ( $resize_to_height > $board_config['avatar_max_height'] )
{
$resize_to_width = $board_config['avatar_max_height'] / $height * $width;
$resize_to_height = $board_config['avatar_max_height'];
}

if ( $resize_to_width != $width || $resize_to_height != $height )
{
if ( $imgtype == '.jpeg' || $imgtype == '.jpg' )
{
$resized_avatar = imagecreatetruecolor($resize_to_width, $resize_to_height);
$image = imagecreatefromjpeg($avatar_filename);
imagecopyresampled($resized_avatar, $image, 0, 0, 0, 0, $resize_to_width, $resize_to_height, $width, $height);
imagejpeg($resized_avatar, $avatar_filename, 85);
imagedestroy($resized_avatar);
imagedestroy($image);
}
if ( $imgtype == '.gif' )
{
$resized_avatar = imagecreatetruecolor($resize_to_width, $resize_to_height);
$image = imagecreatefromgif($avatar_filename);
imagecopyresampled($resized_avatar, $image, 0, 0, 0, 0, $resize_to_width, $resize_to_height, $width, $height);
imagegif($resized_avatar, $avatar_filename);
imagedestroy($resized_avatar);
imagedestroy($image);
}
if ( $imgtype == '.png' )
{
$resized_avatar = imagecreatetruecolor($resize_to_width, $resize_to_height);
$image = imagecreatefrompng($avatar_filename);
imagecopyresampled($resized_avatar, $image, 0, 0, 0, 0, $resize_to_width, $resize_to_height, $width, $height);
imagepng($resized_avatar, $avatar_filename);
imagedestroy($resized_avatar);
imagedestroy($image);
}
list($width, $height, $type) = @getimagesize($avatar_filename);
}

kidzior - Pon 12 Cze, 2006

Po wgraniu pliku z za??cznika mam: Obrazek musi by? typu JPG, GIF lub PNG, czyli stary b??d. co jest grane? :|
T-kOrreD - Pon 12 Cze, 2006

Czy przed modyfikacj? pliku tego b??du nie by?o? Nie wiem, w jaki spos?b ten kod mo?e wp?yn?? na pojawianie si? tego b??du. Typ jest sprawdzany przed zmian? rozmiaru... :/
kidzior - Pon 12 Cze, 2006

C??, tak si? sk?ada, ?e problem by?. :/
T-kOrreD - Wto 13 Cze, 2006

(Z forum Przema)

Znajd?:
Kod
function check_image_type(&$type, &$error, &$error_msg)
{
global $lang;

switch( $type )
{
case 'image/jpeg':
case 'image/jpg':
case 'image/pjpeg':
case 'jpeg':
case 'pjpeg':
case 'jpg':
return '.jpg';
break;
case 'image/gif':
case 'gif':
return '.gif';
break;
case 'image/png':
case 'png':
return '.png';
break;
default:
$error = true;
$error_msg = (!empty($error_msg)) ? $error_msg . '<br />' . $lang['Avatar_filetype'] : $lang['Avatar_filetype'];
/* === DOPISA? === */
$error_msg.=" (typ pliku: $type)";
/* === DOPISA? === */
break;
}

return false;
}


Zerknij, jaki typ pliku Ci wyrzuca.

kidzior - Wto 13 Cze, 2006

T-kOrreD napisał/a
Zerknij, jaki typ pliku Ci wyrzuca.


Obrazek musi by? typu JPG, GIF lub PNG (typ pliku: image/pjpeg)

T-kOrreD - Wto 13 Cze, 2006

pjpeg? :> No to moim zdaniem to nie jest ?aden b??d skryptu, tylko niew?a?ciwy typ pliku. Otw?rz go z GIMPa albo IrfanView i zapisz jako normalny JPEG.
kidzior - Wto 13 Cze, 2006

To by? najzwyklejszy w swiecie gifek - sam sprawd?:

link do avatarka: http://www.avatarsland.co...rs&katalog=sexy

[ Dodano: 2006-06-13, 19:41:36 ]
Oboj?tnie kt?ry by to nie by? - taki komunikat.

Gracek - Wto 13 Cze, 2006

a testowales ten sam avatar na innych forach?
kidzior - Sro 14 Cze, 2006

Pr?bowa?em wrzuci? obrazek jpg i r?wnie? wywali?o:

Cytat
Obrazek musi by? typu JPG, GIF lub PNG (typ pliku: image/pjpeg)


:/

Po co mi sprawdza? na innych forach, kiedy ma to dzia?a? na moim. ;)

Gracek - Sro 14 Cze, 2006

to wrzuc avatar z rozszerzeniem .fwdgfw8fg42f i sie dziw czemu nie dziala
art182 - Sro 14 Cze, 2006

jezu ... avatar nie bedzie dzialal bo to jak juz pisal ktos nie JPG a PJPG ...

czyli progressive jpg czy cos tam takiego ...

obrazka nie wgrasz nigdzie ...
zrob inny i napewno bedzie dzialal ..
bo kod jest wporzadku ( uzywam u siebie )

kidzior - Pią 16 Cze, 2006

Gracek napisał/a
to wrzuc avatar z rozszerzeniem .fwdgfw8fg42f i sie dziw czemu nie dziala

art182 napisał/a
jezu ... avatar nie bedzie dzialal bo to jak juz pisal ktos nie JPG a PJPG ...

czyli progressive jpg czy cos tam takiego ...

obrazka nie wgrasz nigdzie ...
zrob inny i napewno bedzie dzialal ..
bo kod jest wporzadku ( uzywam u siebie )

Heh... Problem wyskakuje co bym nie wrzuci?! Oczywi?cie rozs?dnego. Pr?bowa?em tego, co mam tutaj na forum:
Cytat
Obrazek musi by? typu JPG, GIF lub PNG (typ pliku: image/pjpeg)


Pr?bowa?em zwyk?ego .gif-a:
Cytat
Obrazek musi by? typu JPG, GIF lub PNG (typ pliku: image/pjpeg)

To samo! Gdzie? musi by? b??d - tylko gdzie :?:

Juz rozumiecie? :>

art182 - Pią 16 Cze, 2006

widocznie twoj serwer ma egzotyczn? konfiguracje ( wiem bo tez tak kiedys mialem )
wrzuc po prostu przy sprawdzaniu formatu pliku aby akceptowal tez pjpg ...

tyle .... kod do zmniejszania nie ma nic do rzeczy ...
zreszta tam tez mozesz dodac typ pliku pjpg ...

edit: ee faktycznie ... no to nie wiem ;)
kod jest dobry bo sam uzywam i wszystko dzia?a jak najlepiej :)

johnny - Pią 16 Cze, 2006

art182 napisał/a
wrzuc po prostu przy sprawdzaniu formatu pliku aby akceptowal tez pjpg ...

to chyba nic nie da poniewaz jak sam napisal mu nawet gif ani jpg nie przechodzi

wacusiek - Pią 22 Gru, 2006

modyfikacja dzia?a ?wietnie i bez zarzutu :) Ogromne dzi?ki i obowi?zkowo piwo dla Ciebie. Mam przy okazji pytanie, czy istnia?a by mo?liwo?? zrobienia takiej modyfikacji w albumie? ?eby fotki u?ytkownik?w by?y automatycznie zmniejszane np. do rozmiaru 800x600?
ban_please - Sob 21 Lip, 2007

?eby ten mod dzia?a?, rozszerzenie pliku musi by? podane ma?ymi literami!!! Gdy jest podane wielkimi, wywala b??d:
"Obrazek musi by? typu JPG, GIF lub PNG!"
Poza tym rozmiar obrazka (waga w kB) jest sprawdzana przed zmian? rozmiaru obrazka, co mo?e powodowa? jego odrzucenie... :/

Proponowa?bym nad powy?szym troch? jescze popracowa?...


Powered by phpBB modified by Przemo © 2003 phpBB Group