Загрузка видео с Amazon на Facebook через функцию Resumable дает ошибку

У меня есть функция, с помощью которой компании могут обмениваться видео на нашем сайте от Amazon до своей страницы в Facebook. Я использовал

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

и это работает. Но я хочу использовать функцию возобновления видео, потому что только тогда они могут загружать большие видео размером более 1 ГБ.

        $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 \ Component \ Debug \ Exception \ ContextErrorException] Предупреждение: filesize (): сбой статистики для Http: // d (это есть URL к видео на Амазоне).

Выдает ошибку когда uploadVideo вызывает функцию запуска в файле Facebook.php, которая пытается получить размер файла, и я думаю, что не может.
Любое предложение или решения или кто-то испытал это раньше?
Спасибо

0

Решение

Начиная с PHP 5.0.0, эта функция также может использоваться с некоторыми упаковщиками URL. Обратитесь к списку поддерживаемых протоколов / оболочек, чтобы узнать, какие оболочки поддерживают семейство функций stat ().

Оболочка HTTP (S) не поддерживает stat ()

Перейдите в библиотеку Facebook FileUpload / 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'];
}
0

Другие решения

Других решений пока нет …