Я пытаюсь создать веб-сайт, на котором я мог бы зарегистрироваться, используя логин. К счастью, мне удалось получить информацию о пользователе. Кроме того, при использовании ссылки, приведенной ниже, отображается изображение профиля пользователя.
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");
}
?>
Любая помощь, пожалуйста ???
Вот два подходящих вам для хранения изображения в базе данных.
После вызова Facebook Graph API, вы сможете получить URL-адрес изображения профиля, после чего вы можете продолжить двумя способами.
ИЛИ ЖЕ
Вот код для преобразования изображения в 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')") ;
?>
Надеюсь, что это поможет вам.
Спасибо
Динеш Пал
?>
Других решений пока нет …