У меня есть функция, с помощью которой компании могут обмениваться видео на нашем сайте от 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, которая пытается получить размер файла, и я думаю, что не может.
Любое предложение или решения или кто-то испытал это раньше?
Спасибо
Начиная с 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'];
}
Других решений пока нет …