Вот на днях освоил gd2... За основу взял userbar от Nomer1. Переписал и вот вроде неплохо =) Функции: Репутация,кол-во сообщений, дата реги и аватарка(jpg или gif). Установка: Скопировать шрифты из архива в папку со скриптом. Создайте файлы ava.jpg и ava.gif с chmod 777 Скрипт работает по id(index.php?id=123456). ID - это ваш номер на античате. Шрифты сохранить в туже папку. Новая версия(С кешом)-http://webfile.ru/1866444 Старая версия: PHP: <? $img = array(); $img['WIDTH'] = 120; $img['HEIGHT'] = 210; $img['FONT_SIZE'] = 8; $img['FONT_NAME'] = 'REFSAN.TTF'; $img['FONT_NAME_2'] = 'visitor1.ttf'; $img['USER']=$_GET['id']; $image = imagecreatetruecolor($img['WIDTH'],$img['HEIGHT']) or die(); imagefill($image, 0, 0, 0x2B2F34); $op = file_get_contents('/member.php?u='.$img['USER']); $open = preg_match('|(.+) \(<b>(\d+)</b>/<b>(\d+)</b>\)|i',$op,$repa); // list($bi,$bis)=explode("Регистрация: <strong>",$op); list($at,$bii)=explode("</strong>",$bis); $at=str_replace("2008","08",$at); $at=str_replace("2007","07",$at); $at=str_replace("2006","06",$at); $at=str_replace("2005","05",$at); $at=str_replace("2004","04",$at); $at=str_replace("2003","03",$at); // list($null,$nuzno)=explode("Всего сообщений: <strong>",$op); list($yes,$no)=explode("</strong>",$nuzno); // list($null,$nns)=explode("Просмотр профиля: ",$op); list($nick,$null)=explode("</title>",$nns); // $avatar=file_get_contents("/image.php?u=".$img['USER']); fwrite(fopen("ava.gif","w"),$avatar); $size=getimagesize("ava.gif"); if($size['mime']=="image/jpeg"){ fwrite(fopen("ava.jpg","w"),$avatar); $bbb = imagecreatefromjpeg( "ava.jpg" ); list($width, $height) = getimagesize("ava.jpg"); }else{ fwrite(fopen("ava.gif","w"),$avatar); $bbb = ImageCreateFromGIF ( "ava.gif" ); list($width, $height) = getimagesize("ava.gif"); } $img['TEXT'] = win2uni($nick); $img['TEXT2']= win2uni($repa[1].'('.$repa[2].'/'.$repa[3].')'); $img['TEXT3']= win2uni('Message:'.$yes); $img['TEXT4']= win2uni('Reg at:'.$at); imagerectangle($image, 0, 0, 400, 400, 0x000000); imagefilledrectangle($image,1,1,400,400,0x2F3439); ImageCopy ($image, $bbb, 10, 100, 0, 0, $width,$height); imagettftext($image, $img['FONT_SIZE'], 0, 10, 90, 0xB9B9B9, $img['FONT_NAME'], $img['TEXT4']); imagettftext($image, $img['FONT_SIZE'], 0, 10, 70, 0xB9B9B9, $img['FONT_NAME'], $img['TEXT3']); imagettftext($image, $img['FONT_SIZE'], 0, 10, 50, 0xB9B9B9, $img['FONT_NAME'], $img['TEXT2']); imagettftext($image, $img['FONT_SIZE'], 0, 10, 30, 0xB9B9B9, $img['FONT_NAME'], $img['TEXT']); imagettftext($image, $img['FONT_SIZE'] + 4, 0, 20, 10, 0x228B22, $img['FONT_NAME_2'], 'ANTICHAT'); header('Content-type: image/gif'); imagegif($image); imagedestroy($image); function win2uni($s) { $s = convert_cyr_string($s,'w','i'); for ($result='', $i=0; $i<strlen($s); $i++) { $charcode = ord($s[$i]); $result .= ($charcode>175)?"&#".(1040+($charcode-176)).";":$s[$i]; } return $result; } ?> P.S. list($null,$nuzno) - у меня к вечеру мозги плохо работают =\
PHP: <?php $at=str_replace("2008","08",$at); $at=str_replace("2007","07",$at); $at=str_replace("2006","06",$at); $at=str_replace("2005","05",$at); $at=str_replace("2004","04",$at); $at=str_replace("2003","03",$at); ?> It can make better use of this code? PHP: <?php $at=substr($at, -2); ?>
спасибо scrat что помог с кэшированием =) Качаем от сюда: http://webfile.ru/1866444 P.S. Тут всё есть(+Шрифты)
ты бы хоть код глянул..... с substr можно так PHP: $at1=substr($at, -10,8); $at2=substr($at, -2); $at=$at1.$at2; ну или 1 строкой PHP: $at=substr_replace($at, '', 6,2); если честоно не знаю можно ли сделать или нет, но все же. Сделай что бы делалась анимированая аватарка, и какое нить сообщение выводилось если не задан или не верный id прямо в информире PS: на всяк случай перезалил на рапидшару, а то еле скачал http://rapidshare.com/files/106844274/index.rar