Заливка фотки на сервак контакта PHP вопрос

Discussion in 'PHP' started by R1der23, 18 Jun 2009.

  1. R1der23

    R1der23 New Member

    Joined:
    28 Jul 2008
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Привет. Столкнулся с проблемой автоматической заливки фотки на сервак. Вот следующий код..
    функция genmessage это просто генерация запроса.. на нее не смотрим.. и так собсно не грузит.. контакт возвразщает следующий результат..

    что есть отрицательныфй результат загрузки.. раньше сталкивался с загрузкой фоток все получалось.. но тут уже два дня парюсь.. никак не получается.. помогите.. в чем моя ошибка.. все прочие параметры типа хэша и прочего передаем.. все ок.. заранее спасибо
     
  2. D Mak

    D Mak Elder - Старейшина

    Joined:
    23 Jun 2007
    Messages:
    136
    Likes Received:
    27
    Reputations:
    0
    юзай курл
     
  3. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    по идее не ноль должно быть, как думаешь?:)
     
  4. R1der23

    R1der23 New Member

    Joined:
    28 Jul 2008
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    это уже ответ сервака вконтакте..

    наш content lenght
    $poststr.="Content-Length: ".strlen($content)."\r\n";
     
  5. Tigger

    Tigger Elder - Старейшина

    Joined:
    27 Aug 2007
    Messages:
    936
    Likes Received:
    527
    Reputations:
    204
    Перепеши под курлы, как сказали выше.
     
  6. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    Какая разница курлы не курлы? HTTP протокол один на всех.

    Просто нужно составить заголовок корректный.
     
  7. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    Это заголовок аплоада.
    Затем сервак возвращает 302 - скрипт должен загрузить url, в заголовке Location(это видимо подтверждение загрузки типа)
     
  8. R1der23

    R1der23 New Member

    Joined:
    28 Jul 2008
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    но ведь я в пример и привел тоже самое.. запрос абсолютно корректный.. можешь сам помотреть.. в том то и дело.. я не понимаю что не так сделал.. все ведь верно!!
     
  9. Zitt

    Zitt Elder - Старейшина

    Joined:
    7 May 2006
    Messages:
    736
    Likes Received:
    268
    Reputations:
    59
    енот же писал это... посмар be него
     
  10. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    Затем сервак возвращает 302 - скрипт должен загрузить url, в заголовке Location(это видимо подтверждение загрузки типа)


    Это сделал?
     
  11. R1der23

    R1der23 New Member

    Joined:
    28 Jul 2008
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    само собой сделал.. но не понял что сделал там кто то.. киньте линк если есть уже что то подобное.. поиск по форуму мне результатов не принес..
     
  12. R1der23

    R1der23 New Member

    Joined:
    28 Jul 2008
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    люди киньте реально рабочий пример для контакта!?
     
  13. R1der23

    R1der23 New Member

    Joined:
    28 Jul 2008
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    люди кто нибудь!!! пожалуйста помогите)))) любой пример реальной заливки..!
     
  14. Ratt1e

    Ratt1e Banned

    Joined:
    20 Jan 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    там через курл реально проще...



    PHP:
    $url='граббишь урл из исходника на стр загрузки';

    $data = array(
    'photo' => '@путь_до_фотки',
    'subm' => '1'
    );


    $ch curl_init(); 
          
    curl_setopt($chCURLOPT_RETURNTRANSFER1); 
          
    curl_setopt($chCURLOPT_TIMEOUT60); 
          
    curl_setopt($chCURLOPT_URL,$url);
          
    curl_setopt($chCURLOPT_POSTtrue); 
          
    curl_setopt($chCURLOPT_POSTFIELDS$data); 
          
    curl_setopt($chCURLOPT_USERAGENT'Opera/9.62 (Windows NT 6.0; U; ru) Presto/2.1.1'); 
          
    curl_setopt($chCURLOPT_HEADERtrue); 
          
    curl_setopt($chCURLOPT_COOKIE$cookie);
          
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
          
    $res curl_exec($ch); 
          
    curl_close($ch); 
    echo 
    $res;
    параметр CURLOPT_FOLLOWLOCATION, 1 означает, что курл сам прочитает ответ от сервера и сам перейдет по ссылке подтверждения для заливки.и не надо ипать моск с хэдерсами, вот весь код.в массив кроме пути и сабма ничего не нужно писать
     
  15. R1der23

    R1der23 New Member

    Joined:
    28 Jul 2008
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    =)) ххе ну лано курл так курл)))спасибо большое))
     
  16. Deathdreams

    Deathdreams Elder - Старейшина

    Joined:
    8 Nov 2008
    Messages:
    342
    Likes Received:
    116
    Reputations:
    5
    Ratt1e
    а hash передать не забыл?
    там же вроде hash нужен.
     
  17. Ratt1e

    Ratt1e Banned

    Joined:
    20 Jan 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Deathdreams
    я же написал:
    $url='граббишь урл из исходника на стр загрузки';
    хэш уже включен в урл, прежде чем писать мог бы хоть глянуть для начала исходник
     
  18. Deathdreams

    Deathdreams Elder - Старейшина

    Joined:
    8 Nov 2008
    Messages:
    342
    Likes Received:
    116
    Reputations:
    5
    мне кажется,лучше всё это делать через дуров.ру
     
  19. skam777

    skam777 Member

    Joined:
    3 Jan 2009
    Messages:
    40
    Likes Received:
    15
    Reputations:
    5
    я не понял тс хочет использовать сервак вконтакте для хранения картинок от своего сайта???
     
  20. Ratt1e

    Ratt1e Banned

    Joined:
    20 Jan 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    я думаю он хочет залить аву вк, сделать автообновление аватары