2012-03-22 1 views
0

Я использую API PHPviddler2 на веб-сайте, который я создаю в данный момент, и что-то путает моих пользователей.Viddler автоматически возвращает файл PHP при загрузке

В конце загрузки через форму загрузки (код ниже) мой пользователь автоматически получает файл для загрузки.

<?php 
    include('phpviddler/phpviddler.php'); 

    $user = '[censored]'; 
    $pass = '[censored]'; 
    $api_key = '[censored]'; 
    $callback_url = '/'; 

    $v = new Viddler_V2($api_key); 

    $auth = $v->viddler_users_auth(array('user' => $user, 'password' => $pass)); 

    $sessionid = $auth['auth']['sessionid']; 

    $prepare_resp = $v->viddler_videos_prepareUpload(array('sessionid' => $sessionid)); 

    $upload_server = $prepare_resp['upload']['endpoint']; 
    $upload_token = $prepare_resp['upload']['token']; 
?> 
<div id="viddler-form"> 
    <form method="post" action="<?= $upload_server ?>" enctype="multipart/form-data"> 
     <input type="hidden" name="uploadtoken" value="<?= $upload_token ?>" /> 
     <input type="hidden" name="callback" value="<?= $callback_url ?>" /> 
     <table> 
      <tr><td><label>Title:</label></td><td><input type="text" name="title" /></td><td>Band name or project name (Example: John Smith Band or John Smith Audition)</td></tr> 
      <tr><td><label>Description:</label></td><td><input type="text" name="description" /></td><td>Type of band or project (Example: 5-piece cover band or Orchestra Audition Saxophone)</td></tr> 
      <tr><td><label>Tags:</label></td><td><input type="text" name="tags" /></td><td>Keywords associated with your video (Example: johnsmith, orchestrasax)</td></tr> 
      <tr><td><label>File:</label></td><td><input type="file" name="file" /></td><td>Choose your video (.mov .wmv .avi .mp4 .m4v .divx .mpg .mpeg)</td></tr> 
      <tr><td><input type="submit" value="Upload" id="submit-button" /></td><td></td></tr> 
     </table> 
    </form> 

</div> 

Есть ли способ предотвратить возврат файла php к моему пользователю?

РЕДАКТИРОВАТЬ: Действие формы - это адрес: http://uploads1.viddler.com/viddler_upload/upload/uploadvideo.php. Поэтому я не могу его изменить.

Кроме того, файл возвращается содержит следующее:

a:1:{s:5:"video";a:5:{s:2:"id";s:8:"1fade21b";s:5:"title";s:4:"test";s:11:"description";s:5:"test ";s:3:"url";s:33:"http://www.viddler.com/v/1fade21b";s:13:"thumbnail_url";s:54:"http://cdn-thumbs.viddler.com/thumbnail_2_1fade21b.jpg";}} 
+1

Нам нужно будет увидеть файл, на который указывает действие формы. Вот в чем проблема. – AndrewR

+0

Эта строка представляет собой сериализованный php-массив. Предполагаете ли вы использовать что-то вроде Curl для отправки файла из своего обработчика формы? – AndrewR

+0

Вещь, этот файл загружается моим пользователем после завершения загрузки. Как я могу перехватить его, чтобы прочитать его? Возможно, это может быть ключом к тому, что он не загружается моим пользователем. – Fredy31

ответ

1

ли я скачал PHP API Viddler 2, и они включают в себя пример файла для загрузки. Мне не удалось проверить код ниже, но я думаю, вам нужно делать что-то подобное.

<?php 
if(isset($_FILES) && file_exists($_FILES['file']['tmp_name'])){ 
    include('phpviddler/phpviddler.php'); 

    $user = '[censored]'; 
    $pass = '[censored]'; 
    $api_key = '[censored]'; 
    $callback_url = '/'; 

    $v = new Viddler_V2($api_key); 

    $auth = $v->viddler_users_auth(array('user' => $user, 'password' => $pass)); 

    $params = array(
     'sessionid'=>$user['auth']['sessionid'], 
     'title'=>$_POST['title'], 
     'tags'=>$_POST['tags'], 
     'description'=>$_POST['description'], 
     'file'=>'@' . $_FILES['file']['tmp_name'] 
    ); 

    $sessionid = $auth['auth']['sessionid']; 

    $prepare_resp = $v->viddler_videos_prepareUpload(array('sessionid' => $sessionid)); 
    $results = $v->viddler_videos_upload($params, $prepare_resp['upload']['endpoint']); 

    header("Location: complete.php"); // redirect to a thank you page? 
    exit; 
} 
?> 
<div id="viddler-form"> 
    <form method="post" action="" enctype="multipart/form-data"> 
     <table> 
      <tr><td><label>Title:</label></td><td><input type="text" name="title" /></td><td>Band name or project name (Example: John Smith Band or John Smith Audition)</td></tr> 
      <tr><td><label>Description:</label></td><td><input type="text" name="description" /></td><td>Type of band or project (Example: 5-piece cover band or Orchestra Audition Saxophone)</td></tr> 
      <tr><td><label>Tags:</label></td><td><input type="text" name="tags" /></td><td>Keywords associated with your video (Example: johnsmith, orchestrasax)</td></tr> 
      <tr><td><label>File:</label></td><td><input type="file" name="file" /></td><td>Choose your video (.mov .wmv .avi .mp4 .m4v .divx .mpg .mpeg)</td></tr> 
      <tr><td><input type="submit" value="Upload" id="submit-button" /></td><td></td></tr> 
     </table> 
    </form> 

</div> 
+0

Это решение проблемы: загрузите его на свой сервер, прежде чем загружать его в viddler. Файл возвращается на сервер вместо пользователя. – Fredy31

Смежные вопросы