用户的图片在 Drupal 7 中存储在哪里?

2022-01-23 00:00:00 php drupal drupal-7

我正在使用 SelectQuery 对象来检索和显示用户列表,但我不知道从哪里获取用户的图片.

I'm using a SelectQuery object to retrieve and display a list of users, but I don't know where to get the user's picture from.

users表有一列叫做picture,但是里面的数据只是一个整数.图片是存储在某处的 blob 字段中,还是有指向另一个表中图片的链接?

The users table has a column called picture, but the data in there is just an integer. Is the picture stored in a blob field somewhere or is there a link to the picture in another table?

推荐答案

图像文件本身(通常)存储在 /sites/default/files 的某个位置.该图像的引用存储在 file_managed 表中,users 表中的 picture 列包含 fid图片的(文件ID).

The image file itself is stored (usually) somewhere in /sites/default/files. The reference to that image is stored in the file_managed table, the picture column in the users table contains the fid (file id) of the picture.

你可以像这样加载文件对象:

You can load the file object like this:

$file = file_load($fid);

并像这样获取图像的输出:

And get the output for the image like this:

$image = theme('image', array('path' => $file->uri, 'alt' => 'Alt text'));

相关文章