将远程照片上传到上传 [英] Upload a remote photo to an upload
问题描述
是否可以使用Facebook PHP库将远程图片上传到Facebook?
Is it possible to upload a remote picture to Facebook using the Facebook PHP Library??
而不是使用
$facebook->setFileUploadSupport(true);
$args = array('message' => 'My Caption');
$args['image'] = '@' . realpath($file);
$data = $facebook->api('/me/photos', 'post', $args);
而不是一个 realpath($ file)我想使用图像的远程路径例如:
Instead of a realpath($file) I would like to use a remote path to an image for example:
http://myserver.com/image.jpg
我尝试用http链接替换 realpath($ file),但是我收到以下错误:
I tried to replace the realpath($file) with a http link but I got the following error:
Uncaught CurlException: 26: couldn't open file "http://mydomain.com/fb_images/EwrTsUqEuG.jpg"
推荐答案
使用 file_get_contents()将文件下载到您的服务器,然后 file_put_contents()将其存储在临时的本地文件中,用于上传FB传输过程,然后<一个href =http://www.php.net/manual/en/function.unlink.php =nofollow> unlink()以后删除该文件。
Use file_get_contents() to download the file to your server, then file_put_contents() to store it in a temporary, local file for the upload FB transfer process, then unlink() to delete the file afterwards.
<?php
# The URL for the Image to Transfer
$imageURL = 'http://server.com/the_image.jpg';
# Folder for Temporary Files
$tempFilename = $_SERVER['DOCUMENT_ROOT'].'/tempFiles/';
# Unique Filename
$tempFilename .= uniqid().'_'.basename( $imageURL );
# Get the Image
if( $imgContent = @file_get_contents( $imageURL ) ){
if( @file_put_contents( $tempFilename , $imgContent ) ){
$facebook->setFileUploadSupport(true);
$args = array('message' => 'My Caption');
$args['image'] = '@' . realpath( $tempFilename );
$data = $facebook->api('/me/photos', 'post', $args);
# Once done, delete the Temporary File
unlink( $tempFilename );
}else{
# Failed to Save Image
}
}else{
# Failed to Get Image
}
这篇关于将远程照片上传到上传的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!