Показать сообщение отдельно
Непрочитано 16.04.2010, 13:58   #10
Аватар для Ametist
Пользователь

По умолчанию Re: l2phoenix эмблемы кланов

Цитата:
Сообщение от atukal Посмотреть сообщение
connection.php
PHP код:
<?php
$db_user 
"root"//your sql username goes here
$db_pass "*****"//your sql password goes here
$db_name "l2pdb";    //your database name goes here
$db_serv "localhost"//the address of the database goes here

$db mysql_connect $db_serv$db_user$db_pass ) or die ("Coudn't connect to [$db_serv]");
mysql_select_db $db_name );

?>
crest.php
PHP код:
<?php
/*
 * Функции
 */

function empty_image()
{
    @
header("Content-type: image/gif");
    @
header("Cache-Control: max-age=3600");
    
$img=imagecreatetruecolor(1,1);
    
imagecolortransparent($img0);
    
imagegif($img);
    
imagedestroy($img);
    exit();
}

function 
readInt($file)
{
    
$b4 ord(fgetc($file)); 
    
$b3 ord(fgetc($file));
    
$b2 ord(fgetc($file)); 
    
$b1 ord(fgetc($file));
    return (
$b1<<24)|($b2<<16)|($b3<<8)|$b4;
}

function 
readShort($file)
{
    
$b2 ord(fgetc($file)); 
    
$b1 ord(fgetc($file));
    return (
$b1<<8)|$b2;
}

/*
 * Переменные
 */

$id = isset($_REQUEST["id"]) ? $_REQUEST["id"] : 0;

if (
$id == 0empty_image();

include(
"connection.php");
$query mysql_query("SELECT crest FROM clan_data WHERE clan_id = '$id'"$db);

if (@
mysql_num_rows($query) > 0)
{
  
$result = @mysql_fetch_assoc($query);
  
$clan_crest $result['crest'];
}
else
{
  
empty_image();
}

$file tmpfile();
fwrite($file$clan_crest);
fseek($file0);
$dds fread($file,4);

if (
$dds!=='DDS ') die("Error: изображение DDS не найдено");

//DDS header
$hdrSize readInt($file);
$hdrFlags readInt($file);
$imgHeight readInt($file)-4;
$imgWidth readInt($file);
$imgPitch readShort($file);

//DXT1 header
fseek($file84);

$dxt1 fread($file,4);

if (
$dxt1!=='DXT1') die("Error: не найден формат DX1");

//here we go
fseek($file128);

@
header ("Content-type: image/png");
@
header("Cache-Control: max-age=3600");
$img=imagecreatetruecolor($imgWidth,$imgHeight);

for (
$y=-1$y<$imgHeight/4$y++)
{
  for (
$x=0$x<$imgWidth/4$x++)
  {
    
$color0_16 readShort($file);
    
$color1_16 readShort($file);
    
$r0 = ($color0_16 >> 11) << 3;
    
$g0 = (($color0_16 >> 5) & 63) << 2;
    
$b0 = ($color0_16 31) << 3;
    
$r1 = ($color1_16 >> 11) << 3;
    
$g1 = (($color1_16 >> 5) & 63) << 2;
    
$b1 = ($color1_16 31) << 3;
    
$color0_32 imagecolorallocate($img,$r0,$g0,$b0);
    
$color1_32 imagecolorallocate($img,$r1,$g1,$b1);
    
$color01_32 imagecolorallocate($img,$r0/2+$r1/2,$g0/2+$g1/2,$b0/2+$b1/2); 
    
$black imagecolorallocate($img,0,0,0); 
    
$data readInt($file);
    for (
$yy=0;$yy<4;$yy++)
    {
      for (
$xx=0;$xx<4;$xx++)
      {
        
$bb $data 3;
        
$data $data >> 2;
        switch (
$bb)
        {
          case 
0$c $color0_32; break;
          case 
1$c $color1_32; break;
          case 
2$c $color01_32; break;
          default: 
$c $black; break;
        }
        
imagesetpixel($img,$x*4+$xx,$y*4+$yy,$c);
      }
    }
  }
}

imagepng($img);
fclose($file);
exit;
?>
вывод изображения
Код HTML:
<img src='crest.php?id=270684088' />
Попытался прицепить этот код на сайт, почему то не работает, к базе коннект есть.
Как я понимаю надо указать ведь путь к папке с эмблемами ?
Объясните поподробнее пожалуйста, atukal

Добавлено через 1 час 25 минут
Помогите пожалуйста ...
__________________
Помог ? Нажми:

Последний раз редактировалось Ametist; 16.04.2010 в 15:24. Причина: Добавлено сообщение
Ametist вне форума Отправить сообщение для Ametist с помощью ICQ Отправить сообщение для Ametist с помощью Skype™ Ответить с цитированием