Загрузка фотографий на сервер ВКонтакте api

Discussion in 'Социальные сети' started by smax0, 12 May 2011.

  1. smax0

    smax0 Banned

    Joined:
    26 Jun 2009
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Загрузка фотографий на сервер ВКонтакте api. Заплачу за рабочий php скрипт 1000р

    инструкция:
    Загрузка фотографий на сервер ВКонтакте от имени пользователя осуществляется приложением в 3 этапа:

    1. С помощью метода photos.getUploadServer приложение узнает http-адрес для загрузки фотографий в зависимости от альбома, в который их необходимо загрузить.

    2. Приложение формирует POST-запрос на полученный адрес.
    Запрос должен содержать поля file1-file5, которые содержат файлы с изображениями (JPG, PNG, BMP или GIF).

    В ответ приложение получает следующие данные в формате JSON:

    {"server": '1', "photos_list": '2,3,4', "aid": '5', "hash": '12345abcde'}


    3. С помощью метода photos.save приложение передает серверу полученные данные (server, photos_list, aid и hash) и получает данные о загруженных изображениях.

    Фотографии загружены.


    1-й и 3-й пункты все ок, но во 2-м пункте поле photos_list мне отдается пустое.
    как только не извращался.

    вот код php для пункта 2:


    PHP:
    function make_http_post_request($url$post$ssl false$headers ''$uagent '') {
    if (empty(
    $url)) {
    return 
    false;
    }

    $_post = Array();

    if (
    is_array($post)) {
    foreach (
    $post as $name => $value) {
    $_post[] = $name.'='.urlencode($value);
    }
    }

    $ch curl_init($url);

    if (
    $ssl) { // если соединяемся с https

    curl_setopt($chCURLOPT_SSL_VERIFYPEER0);
    curl_setopt($chCURLOPT_SSL_VERIFYHOST0);

    }

    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_HEADER0);
    curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);

    if (
    is_array($post)) {
    curl_setopt($chCURLOPT_POSTFIELDSjoin('&'$_post));
    }

    if (
    is_array($headers)) { // если заданы какие-то заголовки для браузера
    curl_setopt($chCURLOPT_HTTPHEADER$headers);
    }

    if (!empty(
    $uagent)) { // если задан UserAgent
    curl_setopt($chCURLOPT_USERAGENT$uagent);
    }

    $result curl_exec($ch);

    if (
    curl_errno($ch) != && empty($result)) {
    $result false;
    }

    curl_close($ch);

    return 
    $result;
    };


    $ww=file_get_contents('http://moy_site.ru/1.jpg');
    $post = Array('file1' => $ww);

    $content make_http_post_request($upload_url$postfalse);

    получаю ответ:
    {"server": "5139", "photos_list": "", "aid": "134579991", "hash": "82ffa7348c35faf31ecaa393ae3bf472"}

    Подскажите как правильно через php передать картинки POST запросом, чтобы получить photos_list ?
     
    #1 smax0, 12 May 2011
    Last edited: 13 May 2011
  2. smax0

    smax0 Banned

    Joined:
    26 Jun 2009
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Вопрос закрыт, как тему закрыть?