0

我使用下面的代码上传影片到用户墙:视频上传到Facebook的使用图形API

if(isset($_POST['submitVideo'])) { 
    $img = $_FILES['source']['name'];  
    $ret_obj = $facebook->api('/me/videos', 'POST', array(
     'source' => '@' . $img, 
     'title' => "This is just a test", 
     'description' => 'test9000', 
     'privacy' => json_encode(array('value' => 'EVERYONE')), 
    ) 
    ); 
    echo '<pre>Video ID: ' . $ret_obj['id'] . '</pre>'; 
} 

的形式如下:

<form target="uploadTarget" enctype="multipart/form-data" method="POST"> 
    <input name="source" type="file"> 
    <input type="submit" value="Upload" name="submitVideo" /> 
</form> 

我的问题是与源图像。难道是正确的使用:

$img = $_FILES['source']['name']; 

应该是什么源?我正在从本地计算机上传文件。
编辑:
如果我用同样的形式下面的模式,并使用这个“$ POST_URL”为行动:

$post_url = "https://graph-video.facebook.com/me/videos?" 
     . "title=" . $video_title. "&description=" . $video_desc 
     . "&access_token=". $access_token; 

它的工作原理。但是转到这个“$ post_url”页面,它显示了上传文件的ID。我怎样才能使用该ID放入我的数据库?

回答

0

是正确的使用:

$img = $_FILES['source']['name']; 

不,http://www.php.net/manual/en/features.file-upload.post-method.php告诉你,这是 - 这是“在客户端计算机上的文件的原始名称。”当然不是你想要的。

你想用它已被上传到你的服务器客户端之后被暂时存储在服务器上的文件的名称:

$ _FILES [“userfile的”] [“tmp_name的值”]

上传文件存储在服务器上的文件的临时文件名。


如果这不起作用(FE文件上传临时目录可能无法访问卷曲[其中PHP SDK内部使用]直接)时,你将不得不使用move_uploaded_file第一存储文件放在服务器上的另一个位置。

+0

我编辑了我的问题。请看一看。谢谢 –