web-dev-qa-db-ja.com

ユーザーの写真または画像のURLを取得する

ログインしているユーザーの写真をフェッチして、ウェルカムブロックを作成しようとしています。機能していないコードを適用しました

$userphoto = $user->picture;

では、ユーザーの写真や画像のURLを取得するにはどうすればよいでしょうか。

4
rakibtg

ユーザーエンティティのpictureプロパティはファイルID(_file_managed_テーブルのfid列への参照)です。

次のように file_load() を使用してファイルを明示的にロードできます。

_$file = file_load($user->picture);
_

そして theme_image() を使用して画像にレンダリングします:

_$image = theme('image', array(
  'path' => $file->uri,
  'alt' => 'Some alt',
  // etc...
));
_

または、上記を省略して、便利な theme_user_picture() 関数を使用することもできます。

_$image = theme('user_picture', array('account' => $account));
_
5
Clive

多分それは画像スタイルでレンダリングするのに役立ちます

image_style_url( 'my_image_style'、$ user-> picture ['uri']);

2番目のパラメーターは、 'public://images/myimage.png'のようなdrupalの内部ファイルパスです。

1
werqious

以下を試すことができます。

$user = user_load($view->result[$key]->uid);
$filepath = $user->picture->uri;
$picture_url = file_create_url($filepath);

これにより、ユーザーの画像のURLがわかります。

0
user30102967