0

我已經在那裏企業可以在我們從亞馬遜到他們的Facebook頁面的網站分享視頻的功能。我用了上傳視頻給錯誤

$response = $fb->post("/{$page_id}/videos", $fbData, $accessToken); 

其工作,但我想用可恢復視頻功能,因爲只有這樣,他們可以上傳大小超過1GB的大型視頻。

 $fb = new Facebook(array(
     'app_id' => $facebook_settings['app_id'], 
     'app_secret' => $facebook_settings['app_secret'], 
     'default_graph_version' => $facebook_settings['default_graph_version'], 
    )); 
    try { 

     $fbData = array(
      'title' => strip_tags($data['title']), 
      'description' => strip_tags($data['description']), 
      'asset_key' => $asset_key, 
      //'source' => basename($data['url']), 
     ); 


     //$response = $fb->post("/{$page_id}/videos", $fbData, $accessToken); 
     $response = $fb->uploadVideo($page_id, $data['url'], $fbData, $accessToken, 5, null); 
    } 

    catch(FacebookResumableUploadException $e) { 

     $this->markFacebookVideoUploaded($asset_key, true, null, $e->getMessage()); 
    } 

當我使用這個功能uploadVideo它給了我錯誤[Symfony的\分量\調試\異常\ ContextErrorException]
警告:文件大小():統計失敗http://d(this是URL視頻在亞馬遜)。

它給出錯誤時uploadVideo調用Facebook.php文件啓動功能,嘗試獲取文件大小,我認爲這不可能。 任何建議或解決方案或有人以前經歷過? 謝謝

回答

0

從PHP 5.0.0開始,這個函數也可以和一些URL包裝一起使用。有關哪些包裝程序支持stat()系列功能的列表,請參閱支持的協議/包裝程序列表。

HTTP(S)包裝不支持stat()

,所以還是Facebook的庫文件上傳/ FacebookFile.php,並更換

public function getSize() 
{ 
    return filesize($this->path); 
} 

public function getSize() 
{ 
    $head = array_change_key_case(get_headers($this->path, TRUE)); 
    return $filesize = $head['content-length']; 
}