|
|
|
Юзербары-информеры |
|
|
|
16.6.2007, 18:48
|
Группа: Главные администраторы
Сообщений: 4406
Регистрация: 2.3.2006
Из: 밤
Пользователь №: 12397
|
Цитата(ZeroTheGreat @ 16.6.2007, 1:34) найти хороший бесплатный хостинг Не бывает такого.
|
|
|
|
|
17.6.2007, 5:36
|
Группа: Пользователи
Сообщений: 93
Регистрация: 18.3.2007
Пользователь №: 17891
|
Вобщем что то прицепилася неспаница и вот чуть повозился ) Теперь определяется по ид юзера в хтаксесс пишется чуть иначе CODE RewriteEngine On RewriteRule ^.htaccess$ - [F] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+)/ds.jpg$ /req.php?__uid=$1 [L]
скрипт обзывается req.php и пусть кладется в корень CODE <?php $banner_image = "http://img234.img.bn/img234/9251/48406776nh4.jpg"; $myinfo = NULL; $f = fopen("http://rusro2.com/top.php?id=".$_GET['__uid'],'r'); if ($f != NULL) { $foobar=false; while (!feof($f)) { $tstr = fgets($f); if (strpos(trim($tstr), 'Имя:')) { $rawname=strip_tags($tstr); $name=substr($rawname,6); $name=substr($name,0,-2);
$tstr = fgets($f); $rawguild=strip_tags($tstr); $guild=substr($rawguild,10); $guild=substr($guild,0,-2);
$tstr = fgets($f); $rawprof=strip_tags($tstr); $prof=substr($rawprof,12); $prof=substr($prof,0,-2);
$tstr = fgets($f); $base = substr(strip_tags($tstr),18); $base=substr($base,0,-2);
$tstr = fgets($f); $tstr = fgets($f); $tstr = fgets($f); $job = substr(strip_tags($tstr),16); $job = substr($job,0,-2);
$foobar=true; } if($foobar){ if (strpos(trim($tstr),"offline")) {$status="Offline";} if (strpos(trim($tstr),"online")) {$status="Online";} }; } } fclose($f);
Header("Pragma: no-cache");
$imf = $GLOBALS['banner_image']; $fn = fopen($imf, "r"); if ($fn != false) { fclose($fn); header("Content-Type: image/jpg"); $im = imagecreatefromjpeg($imf); $orange = imagecolorallocate($im, 255, 255, 0); //$string1 = "$name - $prof ( $base / $job ) [ $guild ]"; $string1 = "$name $prof ( $base / $job )"; $string2 = $status; imagestring($im, 3, 8, 8, $string1, $orange); imagestring($im, 3, 8, 35, $string2, $orange); imagejpeg($im); imagedestroy($im); exit; }
header("Content-type: image/png"); $im = @ImageCreate (50, 15) or die ("Cannot Initialize new GD image stream"); $background_color = ImageColorAllocate($im, 225, 130, 130); $text_color = ImageColorAllocate ($im, 0, 0, 0); ImageString ($im, 2, 4, 1, "NO FILE", $text_color); ImagePng($im); ?> обращение идет в виде чегото подобного CODE http://localhost/150747/ds.jpg ид юзера видно где указывается В резултате получили вот что (IMG: http://img338.img.bn/img338/8289/reqphpci3.jpg) Единственная проблема, что на моем хостинге графическая библиотека GD не включена (( а админа не допинаеш поставит. Буду думать куда вешать )) В принципе можно переделать под ImageMagic. Да с русскими никами таже проблема , именно в графической библиотеке трабла.
|
|
|
|
|
17.6.2007, 15:47
|
Группа: Пользователи
Сообщений: 93
Регистрация: 18.3.2007
Пользователь №: 17891
|
Вобще постучал в бубен и заработало. Дополнительно кладем в папку со скриптом файл шрифта, в моем случае использовался tahomabd.ttf Если у вас win то скорее всего шрифты лежат в c:\windows\fonts Сам скрипт немного изменился в части вывода, приведу целиком дабы не было путаницы. CODE <?php $banner_image = "http://img234.img.bn/img234/9251/48406776nh4.jpg"; $myinfo = NULL; $f = fopen("http://rusro2.com/top.php?id=".$_GET['__uid'],'r'); if ($f != NULL) { $foobar=false; while (!feof($f)) { $tstr = fgets($f); if (strpos(trim($tstr), 'Имя:')) { $rawname=strip_tags($tstr); $name=substr($rawname,6); $name=substr($name,0,-2);
$tstr = fgets($f); $rawguild=strip_tags($tstr); $guild=substr($rawguild,10); $guild=substr($guild,0,-2);
$tstr = fgets($f); $rawprof=strip_tags($tstr); $prof=substr($rawprof,12); $prof=substr($prof,0,-2);
$tstr = fgets($f); $base = substr(strip_tags($tstr),18); $base=substr($base,0,-2);
$tstr = fgets($f); $tstr = fgets($f); $tstr = fgets($f); $job = substr(strip_tags($tstr),16); $job = substr($job,0,-2);
$foobar=true; } if($foobar){ if (strpos(trim($tstr),"offline")) {$status="Offline";} if (strpos(trim($tstr),"online")) {$status="Online";} }; } } fclose($f);
function iso2uni ($isoline) { $uniline=""; for ($i=0; $i < strlen($isoline); $i++){ $thischar=substr($isoline,$i,1); $charcode=ord($thischar); $uniline.=($charcode>175)?"&#".(1040+($charcode-176)).";":$thischar; } return $uniline; }
//putenv('GDFONTPATH=' . realpath('.'));
Header("Pragma: no-cache");
$imf = $GLOBALS['banner_image']; $fn = fopen($imf, "r"); if ($fn != false) { fclose($fn); header("Content-Type: image/jpg"); $im = imagecreatefromjpeg($imf); $orange = imagecolorallocate($im, 255, 255, 0); //$string1 = "$name - $prof ( $base / $job ) [ $guild ]"; $string1 = "$name $prof ( $base / $job )"; $string2 = $status; $string1 = iso2uni(convert_cyr_string($string1,"w","i")); $string2 = iso2uni(convert_cyr_string($string2,"w","i")); $font = 'tahomabd.ttf';
imagettftext($im, 12, 0, 5, 20, $orange, $font, $string1); imagettftext($im, 12, 0, 5, 50, $orange, $font, $string2);
imagejpeg($im); imagedestroy($im); exit; }
header("Content-type: image/png"); $im = @ImageCreate (50, 15) or die ("Cannot Initialize new GD image stream"); $background_color = ImageColorAllocate($im, 225, 130, 130); $text_color = ImageColorAllocate ($im, 0, 0, 0); ImageString ($im, 2, 4, 1, "NO FILE", $text_color); ImagePng($im); ?>
Вот собственно и все )). В остальном смотри что написано ранее. Что у меня получилось смотрите в подписи.
|
|
|
|
|
18.6.2007, 1:35
|
Группа: Пользователи
Сообщений: 1022
Регистрация: 15.2.2007
Из: Северной Пальмиры
Пользователь №: 17152
|
Night, а все ли захотят пользоваться одним и тем же баннером? (IMG: http://rusro2.org/forum/style_emoticons/default/smile.gif) Господа программисты, два вопроса. Первый: можно ли переменной $status (скрипт kostoprav'а) назначить URL картинки, чтобы, например, вместо онлайн-оффлайн выводилась картинка, например, зеленого и красного кругов и т.п. Второй: как на второй строке разместить вместе и переменную $status и переменную $guild?
|
|
|
|
|
18.6.2007, 1:40
|
Группа: Пользователи
Сообщений: 93
Регистрация: 18.3.2007
Пользователь №: 17891
|
Вопрос ведь еще в том какая картинка, какой шрифт, какой формат надписи и тп. Далее, например в мою картинку, как апнусь строка обрежется и будет поскудно выглядеть. Надо подумать. Как бы получше сделать. Как вариант сделать несколько стилей начертания , определять адресс базисной картинки иполучи что то типа banner.php?id=111111&style=2line_full_info&color=yellow&img=http://img234.img.bn/img234/9251/48406776nh4.jpg ето не сложно мне кажется и многих устроит Другой вопрос , что скрипт весьма не оптимизирован,и если найту не соствит труда, хотелось бы видеть некий упрощеную версию топа, в которой топорно показываются только информация аккаунта. CODE while (!feof($f)) { $tstr = fgets($f); if (strpos(trim($tstr), 'Имя:'))
бо бо какая жрущая конструкция, и если ей совать большую пагу, да еще многими клентами может машинкои напрячь. зы (IMG: http://rusro2.org/forum/style_emoticons/default/emo_ro30.gif) а лучше дайте API к сервису шоб не парсить паги ))) футка
|
|
|
|
|
18.6.2007, 1:43
|
Группа: Главные администраторы
Сообщений: 4406
Регистрация: 2.3.2006
Из: 밤
Пользователь №: 12397
|
Цитата(ZeroTheGreat @ 18.6.2007, 2:35) Night, а все ли захотят пользоваться одним и тем же баннером? (IMG: http://rusro2.org/forum/style_emoticons/default/smile.gif) Господа программисты, два вопроса. Первый: можно ли переменной $status (скрипт kostoprav'а) назначить URL картинки, чтобы, например, вместо онлайн-оффлайн выводилась картинка, например, зеленого и красного кругов и т.п. Второй: как на второй строке разместить вместе и переменную $status и переменную $guild? На счет статуса можно 100%, вопрос в реализации. На счет баннера, попросим нарисовать красивый баннер, что бы всем нравился, выберем по результатам голосования Цитата(kostoprav @ 18.6.2007, 2:40) Другой вопрос , что скрипт весьма не оптимизирован,и если найту не соствит труда, хотелось бы видеть некий упрощеную версию топа, в которой топорно показываются только информация аккаунта. Не совсем понимаю, что ты имеешь ввиду... сейчас попробую показать, как я это представляю...
|
|
|
|
|
18.6.2007, 1:53
|
Группа: Пользователи
Сообщений: 93
Регистрация: 18.3.2007
Пользователь №: 17891
|
Цитата(ZeroTheGreat @ 18.6.2007, 2:35) Night, а все ли захотят пользоваться одним и тем же баннером? (IMG: http://rusro2.org/forum/style_emoticons/default/smile.gif) Господа программисты, два вопроса. Первый: можно ли переменной $status (скрипт kostoprav'а) назначить URL картинки, чтобы, например, вместо онлайн-оффлайн выводилась картинка, например, зеленого и красного кругов и т.п. Второй: как на второй строке разместить вместе и переменную $status и переменную $guild? Угу укаждого своя фантазия. по пунктам 1) Первый: можно ли переменной $status (скрипт kostoprav'а) назначить URL картинки, чтобы, например, вместо онлайн-оффлайн выводилась картинка Можно )) тогда вторая строка не впечатывается, а создается новое изображение "$im2 = imagecreatefromjpeg($imf2); " и далее ищется в библиотеке функция для копирования одного изображения на другое. 2) Второй: как на второй строке разместить вместе и переменную $status и переменную $guild? у меня гильдия вобще не выводится )) а вобще смотри где делается $string2: $string2 = $status; делаеш терь так $string2 = $status.' Member of:'.$guild; или $string2 = "$status Member of: $guild"; зы вроде синтаксис не напутал, проверят лень. Последний раз игрался с пхп год назад. зыы 2 ZeroTheGreat мне кажется ты создаеш себе комплекс непоноценности, если ты уже смог хоть както разобратся в етом коде, попробуй почитать нормальные руководства. ( хе хе всяк полезнее манча ) почитай http://www.intuit.ru/department/pl/plphp/ а что делают различные функции смотри справочник http://php.net/ вводя название функции в search for
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|