как получить имя пользователя зная его ID?

Автор Alex K, 01 апреля 2009, 17:32:25

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Alex K

имею сайт, на страницу которого в случайном порядке выводятся фотографии из профиля (установлен мод Ultimate profile). каждая картинка начинается на число, соответствующее идентификатору пользователя, который разместил фото в своем профиле. нужно каким-нибудь образом, зная этот ID вставить под фото ник юзера и ссылку на его профиль.

p.s. SMF1.1.8

Drakonsa

Если подключали ssi.php то запросите где-то print_r ($context['user']); и на содержание массива.


Drakonsa

Цитата: digger от 01 апреля 2009, 23:32:33
А чем print_r($context['user']) поможет в проблеме "как зная ID определить ник юзера" ?
Ну если написать print_r($context['user']); то можно увидеть массив состоящий из логина, выводимого имени, ID и прочей инфы, которая нужна для вывода где-то там. о_О

digger®

Цитата: Drakonsa от 01 апреля 2009, 23:35:13
Ну если написать print_r($context['user']); то можно увидеть массив состоящий из логина, выводимого имени, ID и прочей инфы, которая нужна для вывода где-то там. о_О

Можно увидеть "массив состоящий из логина, выводимого имени, ID и прочей инфы" текущего залогиненного пользователя.
А нужно по произвольным ID определять имя пользователя.

Собственно, можно посмотреть в сторону ssi_fetchMember()

Drakonsa


Alex K

Цитата: digger от 01 апреля 2009, 23:50:17...можно посмотреть в сторону ssi_fetchMember()
благодарю, а где эту директиву найти? и как соответственно использовать? -)

Alex K

#7
в общем решил таким способом: картинка - кликабельная ссылка на профиль юзера, разместившего ее в своем ultimate-профиле. остальной код - для выбора новой картинки каждый день, и проверки на размер (картинки менее 10 килобайт признаются аватарами и на сайт не выводятся). все картинки пережимаются под один размер (скрипт "img_resize.php", здесь не приводится) и копируется из профиля в отдельную папку. в той же папке создается временная ссылка на профиль, откуда была слямзена картинка.
пример работы (ресурс в разработке, поэтому не судите строго за возможные ляпы).

<?php 
$dirn
='../forum/profile_pictures/'
$dir=opendir($dirn); 
$images=array(); 
$tempimage='../images/temp_img/output.jpg';
$profile='../forum/index.php?action=profile;u=';
$profilelink='../images/temp_img/profilelink.jpg';

$curdate=(date('z'));

if (
file_exists($tempimage)) {$tempimgdate=(date('z',filemtime($tempimage)));}
else {$tempimgdate=0;};

if(
$curdate<>$tempimgdate
{
while($f=readdir($dir))
{if($f=="." or $f=="..") continue; 
array_push($images,$f); 
}

do {$img=array_rand($images,1);}
while(filesize($dirn.$images[$img])<10240);

$imgname=$dirn.$images[$img];

$profnum=explode('_',$images[$img]);
$userprofile=$profile.$profnum[0];

if (is_link($profilelink)) {unlink($profilelink);};

symlink ($userprofile$profilelink);

include ("img_resize.php");

img_resize("$imgname""$tempimage"240185,  700xCED7DC1);

};

$truelink=readlink($profilelink);

echo 
"<a href=$truelink><img src='$tempimage' alt='Перейти в профиль'></a>";

?>