Вот небольшой класс для работы с VKAPI
class classVkApi {
private $access_token;
public function __construct($access_token)
{
$this->access_token = $access_token;
}
/*
Метод для построения запроса
$params - массив или строка
Возвращает ответ на запрос
*/
public function APIMethod($name,$params)
{
$query ="https://api.vk.com/method/$name?access_token=$this->access_token";
//Если параметры массив, строим запрос
if ( is_array($params))
{
$query .= '&'.http_build_query($params);
}
else
{
$query .= '&'.$params;
}
return file_get_contents($query);
}
public function POSTQuery($url,$post_params)
{
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_params);
$out = json_decode(curl_exec($curl));
curl_close($curl);
return $out;
}
}
public function UploadImage($images_array)
{
//Получаем адрес сервера для загрузки
$upload_url = json_decode($this->APIMethod('photos.getMessagesUploadServer','count=1'))->response->upload_url;
//Отправляем фотографии на сервер
$result = $this->POSTQuery($upload_url,$images_array);
//Получаем данные
$upload_params = array(
'photo' => stripslashes($result->photo),
'server' => $result->server,
'hash' => $result->hash
);
//Сохраняем фото для дальнейшего прикрепления
$savephoto = json_decode($this->APIMethod('photos.saveMessagesPhoto',$upload_params));
//Получаем id
$attachmentid = 'photo'.$savephoto->response[0]->owner_id.'_'.$savephoto->response[0]->pid;
return $attachmentid;
}
}
$attachmentid = $api -> UploadImage($post_params);
При вызове функции, возвращается только "photo_",
Вк присылает
{"server":639731,"photo":"[]","hash":"c27a0c8b411f39337629ee81fb792d0a"}