Хранение изображений пользователей Facebook в моей базе данных

Я пытаюсь создать веб-сайт, на котором я мог бы зарегистрироваться, используя логин. К счастью, мне удалось получить информацию о пользователе. Кроме того, при использовании ссылки, приведенной ниже, отображается изображение профиля пользователя.

echo '<img src="https://graph.facebook.com/'.$userdata['id'].'/picture">';

Но мне нужно сохранить это изображение в моей базе данных. Имя моей базы данных — fbtest, а имя таблицы — users.
Имя столбца, в котором хранится изображение, — это изображение, а тип — blob.
Как я могу вставить эту картинку в свою базу данных.
Код для страницы аутентификации показан ниже.

            <?php
require 'lib/db.php';
require 'lib/facebook.php';
require 'lib/fbconfig.php';
session_start();
$facebook=$_SESSION['facebook'];
$userdata=$_SESSION['userdata'];
$logoutUrl=$_SESSION['logout'];
$access_token_title='fb_'.$facebook_appid.'_access_token';
$access_token=$facebook[$access_token_title];if(!empty($userdata))
{
echo '<h1>Login User Details</h1>';
echo '<img src="https://graph.facebook.com/'.$userdata['id'].'/picture">';
$img = file_get_contents('https://graph.facebook.com/'.$userdata['id'].'/picture');
echo "<br/>";
echo '<b>Access Token: </b>'.$access_token;
echo "<br/>";
echo '<b>User ID: </b>'.$userdata['id'];
echo "<br/>";
echo  '<b>Name: </b>'.$userdata['name'];
echo "<br/>";
echo  '<b>First Name: </b>'.$userdata['first_name'];
echo "<br/>";
echo  '<b>Last Name: </b>'.$userdata['last_name'];
echo "<br/>";
echo  '<b>Email: </b>'.$userdata['email'];
echo "<br/>";
echo  '<b>Gender: </b>'.$userdata['gender'];
echo "<br/>";
echo  '<b>Birthday: </b>'.$userdata['birthday'];
echo "<br/>";
echo  '<b>Location: </b>'.$userdata['location']['name'];
echo "<br/>";
echo  '<b>Hometown: </b>'.$userdata['hometown']['name'];
echo "<br/>";
echo  '<b>Bio :</b>'.$userdata['bio'];
echo "<br/>";
echo  '<b>Relationship Status: </b>'.$userdata['relationship_status'];
echo "<br/>";
echo  '<b>Time Zone: </b>'.$userdata['timezone'];
echo "<br/>";
echo "<br/>";

$facebook_id=$userdata['id'];
$name=$userdata['name'];
$email=$userdata['email'];
$gender=$userdata['gender'];
$birthday=$userdata['birthday'];
$location=mysql_real_escape_string($userdata['location']['name']);
$hometown=mysql_real_escape_string($userdata['hometown']['name']);
$bio=mysql_real_escape_string($userdata['bio']);
$relationship=$userdata['relationship_status'];
$timezone=$userdata['timezone'];
mysql_query("INSERT INTO `users` (`id`, `name`, `email`, `gender`, `birthday`, `location`, `hometown`, `bio`, `relationship`, `picture`)
VALUES ('$facebook_id','$name','$email','$gender','$birthday','$location','$hometown','$bio','$relationship','$img')")  ;

echo "<br/>";

echo '<a href="'.$logoutUrl.'">Logout Facebook</a>';
}
else
{
header("Location: fblogin.php");
}
?>

Любая помощь, пожалуйста ???

0

Решение

Вот два подходящих вам для хранения изображения в базе данных.

После вызова Facebook Graph API, вы сможете получить URL-адрес изображения профиля, после чего вы можете продолжить двумя способами.

  1. Добавьте столбец изображения профиля в пользовательскую таблицу и вставьте путь изображения непосредственно в этот столбец.

ИЛИ ЖЕ

  1. Если вы хотите добавить изображение профиля в столбец изображения (объект blob), то сначала преобразуйте URL-адрес изображения в base64, а затем вставьте данные в кодировке base64 в столбец изображения.

Вот код для преобразования изображения в base64.

<?php

$imgPath = 'http://abcd.com/profilepicture/mypic.png'; // Facebook profile picture   will     replace here.
$imgdata = file_get_contents($imgPath);
$imgBase64Data = base64_encode($imgdata);

mysql_query("INSERT INTO `users` (`id`, `name`, `email`, `gender`, `birthday`, `location`, `hometown`, `bio`, `relationship`, `picture`)
VALUES  ('$facebook_id','$name','$email','$gender','$birthday','$location','$hometown','$bio','$relationship','$imgBase64Data')")  ;

?>

Надеюсь, что это поможет вам.

Спасибо
Динеш Пал

?>

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector