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», где отображается идентификатор загруженного файла. Как я могу использовать этот идентификатор для ввода в мою базу данных?

ответ

0

это правильно использовать это:

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

Нет, http://www.php.net/manual/en/features.file-upload.post-method.php говорит вам, это - что из «Оригинальное название файла на клиентской машине.» Конечно, не то, что вы хотите.

Вы хотите использовать имя файла, который получает хранится временно на сервере после того, как он был загружен на сервер клиентом:

$ _FILES [ «UserFile»] [ «tmp_name»]

Временное имя файла, в котором загруженный файл хранился на сервере.


Если это не работает (ФЭ временный каталог для загрузки файлов может быть не доступен для Curl [которых PHP SDK использует внутренне] напрямую), то вам придется использовать move_uploaded_file первую для хранения файл в другом месте на вашем сервере.

+0

Я отредактировал мой вопрос. посмотрите пожалуйста. благодаря –