Ich verwende diesen Code, um Bilder der Benutzergalerie auf meiner Website zu speichern. Zuerst, wenn der Benutzer sich anmeldet, werden alle Bilder der Galerie geladen und wenn der Benutzer ein Bild auswählt, muss ich das Bild in einem Verzeichnis speichern. Das ist mein Code. Bild speichert mit dem Namen, aber die Bildgröße ist Null.Wie man facebook Benutzergaleriebild von URL zu Verzeichnis speichert?
$file = file_get_contents('https://graph.facebook.com/[Fb-Photo-ID]/picture?width=378&height=378&access_token=[Access-Token]');
$img = file_put_contents($target_dir['path'].'/'."facebook3.jpg",$file);
Dies ist der Code der Bildergalerie.
<script>
/**
* This is the getPhoto library
*/
function makeFacebookPhotoURL(id, accessToken) {
//alert(id);
return 'https://graph.facebook.com/v2.6/' + id + '/picture?access_token=' + accessToken;
}
function login(callback) {
FB.login(function(response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
if (callback) {
callback(response);
}
} else {
console.log('User cancelled login or did not fully authorize.');
}
},{scope: 'publish_actions,user_location,user_photos,email'});
}
function getAlbums(callback) {
FB.api(
'/me/albums',
{fields: 'id,cover_photo'},
function(albumResponse) {
console.log(' got albums ');
if (callback) {
callback(albumResponse);
console.log(albumResponse);
}
}
);
}
function getPhotosForAlbumId(albumId, callback) {
//alert(albumId);
console.log(albumId);
FB.api(
'/'+albumId+'/photos',
{fields: 'id'},
function(albumPhotosResponse) {
console.log(' got photos for album ' + albumId);
if (callback) {
callback(albumId, albumPhotosResponse);
}
}
);
}
function getLikesForPhotoId(photoId, callback) {
FB.api(
'/'+albumId+'/photos/'+photoId+'/likes',
{},
function(photoLikesResponse) {
console.log(photoLikesResponse);
if (callback) {
callback(photoId, photoLikesResponse);
}
}
);
}
function getPhotos(callback) {
var allPhotos = [];
var accessToken = '';
login(function(loginResponse) {
accessToken = loginResponse.authResponse.accessToken || '';
//console.log(accessToken);
getAlbums(function(albumResponse) {
var i, album, deferreds = {}, listOfDeferreds = [];
for (i = 0; i < albumResponse.data.length; i++) {
album = albumResponse.data[i];
deferreds[album.id] = $.Deferred();
listOfDeferreds.push(deferreds[album.id]);
getPhotosForAlbumId(album.id, function(albumId, albumPhotosResponse) {
var i, facebookPhoto;
for (i = 0; i < albumPhotosResponse.data.length; i++) {
facebookPhoto = albumPhotosResponse.data[i];
allPhotos.push({
/* 'id' : facebookPhoto.id,
'added' : facebookPhoto.created_time, */
'url' : makeFacebookPhotoURL(facebookPhoto.id, accessToken)
});
}
deferreds[albumId].resolve();
});
}
$.when.apply($, listOfDeferreds).then(function() {
if (callback) {
callback(allPhotos);
}
}, function(error) {
if (callback) {
callback(allPhotos, error);
}
});
});
});
}
</script>
<script>
/**
* This is the bootstrap/app script
*/
// wait for DOM and facebook auth
var docReady = $.Deferred();
var facebookReady = $.Deferred();
$(document).ready(docReady.resolve);
window.fbAsyncInit = function() {
FB.init({
appId : '00000000000',
channelUrl : '//conor.lavos.local/channel.html',
status : true,
cookie : true,
xfbml : true
});
facebookReady.resolve();
};
$.when(docReady, facebookReady).then(function() {
if (typeof getPhotos !== 'undefined') {
getPhotos(function(photos) {
//console.log(photos);
var str= JSON.stringify(photos);
var contact=jQuery.parseJSON(str);
$.each(photos, function(index, value){
$.each(value, function(index1, value1){
console.log(value);
//console.log(index1+value1);
//console.log(index1+value1);
//console.log(index1+value1);
$("#images").append('<a href="javascript:;" class="myimg"><img height="100" width="150" src='+value1+' /></a>');
$("a.myimg img").click(function()
{
var imgSrc = $(this).attr('src');
$("#fbimg").val(imgSrc);
});
});
});
});
}
});
</script>
Haben Sie versucht zu identifizieren, ob Sie etwas in $ Datei haben? Und was hat FB dir angetan? – xAqweRx
Was ist '$ target_dir'? Verfügen Sie über Schreibrechte für das Verzeichnis, in dem Sie das Foto speichern möchten? Haben Sie die richtige '[Fb-Photo-ID]' und '[Access-Token]'? –
Es zeigt nichts, wenn ich versuchte, $ Datei zu drucken. –