建议 - 来自Facebook Graph API的用户个人资料图像


Advice - User profile image from Facebook Graph API

我正在codeigniter中构建一个应用程序,允许用户使用Facebook Graph API登录。

我正在存储用户信息,并希望获得有关如何处理用户个人资料图像的建议。

由于 API 为图像提供了一个 URL,我应该将其存储在本地并将文件名保存到 db 还是简单地将 URL 存储在另一列中?

在我看来,我像这样显示存储的本地图像:

 <img src="./image/avatars/<?php echo $user->profile ?>" class="img-circle" alt="" />

如果我将FB URL存储在另一列中,我可以添加一些条件来显示$user>配置文件为空。

像这样:

  <?php if ($user->profile == null && $user->fbprofile != null){
                                echo "<img src='".$user->fbprofile."' class='img-circle' />";
                            }else{
                                echo "<img src='./image/avatars/".$user->profile."' class='img-circle'/>";
                            ?>

请注意,如果是普通用户,他们将始终拥有个人资料图像,即头像.png如果没有上传任何内容。

关于这是否是处理此问题的最佳方法的任何建议?不确定对此的最佳实践是什么。

谢谢

在收到Facebook电子邮件和FBID后使用此代码

    $ch = curl_init();
    curl_setopt ($ch, CURLOPT_URL, 'http://graph.facebook.com/'.(FBID ).'/picture');
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    $data = curl_exec($ch);
    curl_close($ch);
    $fileName = 'image/avatars/fbprofile_'time()'.jpg';
    $file = fopen($fileName, 'w+');
    fputs($file, $data);
    fclose($file);

和"$fileName"保存在配置文件URL的数据库中