Moodle中个人资料图片的路径?

时间:2011-07-27 06:24:10

标签: php database moodle

我在moodle web-application中编写了一些东西,并且正在研究检索用户配置文件图像的路径。

我以为我可以在数据库的某个地方找到路径,但我只能找到mdl_user.picture和mdl_user.imagealt,所以我几乎知道谁上传了一张图片但却无法获得他/她上传的图片。< / p>

有没有办法从数据库中获取它?

感谢您的帮助,

OM

5 个答案:

答案 0 :(得分:5)

如果需要image标记,可以使用print_user_picture()并传递从数据库中获取的用户对象。您还可以指定图像的大小。因此,要为当前用户打印全尺寸用户图片

global $USER, $COURSE;

print_user_picture($USER, $COURSE->id, null, true);

否则,如果您只需要网址,则可以执行此类操作

require_once($CFG->libdir.'/filelib.php');

$size = array('large' => 'f1', 'small' => 'f2');

$src = false;
if ($user->picture) {
   $src = get_file_url($user->id.'/'.$size['large'].'.jpg', null, 'user');
}

答案 1 :(得分:3)

在moodle 2.0中你可以使用这个

global $USER,$PAGE; 
$user_picture=new user_picture($USER);
$src=$user_picture->get_url($PAGE);

答案 2 :(得分:0)

要获取用户个人资料照片,只需使用以下路径即可:

注意:使用的用户ID = 3并附加数字2

路径:http://moodleservername/moodle/pluginfile.php/23/user/icon/clean/f1

答案 3 :(得分:0)

此版本在3.4版本中对我有效

<?php echo new moodle_url('/user/pix.php/'.$USER->id.'/f1.jpg')?>

答案 4 :(得分:0)

OP要求从数据库中获取此信息,其他发布者则提示了如何使用PHP从Module中获取信息-但是,如果您无权访问Module代码,这就是这样做的方法。 >

您首先需要在示例中找到用户ID(3)的实例ID。

然后,您需要在文件表中搜索实例ID / user / icon / f / f [1-3]。[jpg | png]

的哈希值

此查询将按大小顺序给出所有文件,最大的文件在前。

第一列file_path将是相对于您服务器上的moodle文件的文件路径。有关其位置,请参见config.php for $CFG->dataroot

select @instanceID := id instance_id
from mdl_context where contextlevel = 30 and instanceid = 3; # instanceid = 3 is user id 3
select @instanceID; # check it is present.
;
SELECT concat(left(f.contenthash,2),"/",substring(f.contenthash,3,2),"/",f.contenthash) file_path, f.pathnamehash, timecreated, filename, f.*
FROM mdl_files f
LEFT JOIN mdl_files_reference r ON f.referencefileid = r.id
WHERE f.pathnamehash in(
    sha1(concat("/",@instanceID,"/user/icon/0/f1.jpg")),
    sha1(concat("/",@instanceID,"/user/icon/0/f2.jpg")),
    sha1(concat("/",@instanceID,"/user/icon/0/f3.jpg")), 
    sha1(concat("/",@instanceID,"/user/icon/0/f1.png")),
    sha1(concat("/",@instanceID,"/user/icon/0/f2.png")),
    sha1(concat("/",@instanceID,"/user/icon/0/f3.png")))
order by timecreated desc, filename desc
相关问题