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

我編輯了我的問題。請看一看。謝謝 –