$url = file_get_contents("https://api.vk.com/method/photos.getUploadServer?album_id={$album_id}&group_id={$group_id}&access_token={$token}");
$url = json_decode($url)->upload_url;
<?php
// Только STANDALONE TOKEN
$token = 'token';
$group_id = 'id';
$album_id = 'id';
$v = '5.62'; //версия vk api
$image_path = dirname(__FILE__).'/111.jpg';//путь до картинки
$post_data = array("file1" => '@'.$image_path);
// получаем урл для загрузки
$url = file_get_contents("https://api.vk.com/method/photos.getUploadServer?album_id={$album_id}&group_id={$group_id}&access_token={$token}");
$url = json_decode($url)->upload_url;
//print_r($url);
// отправка post картинки
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$result = json_decode(curl_exec($ch),true);
//print_r($result);
// сохраняем
$safe = file_get_contents("https://api.vk.com/method/photos.save?server=".$result['server']."&photos_list=".$result['photos_list']."&album_id=".$result['aid']."&hash=".$result['hash']."&gid=".$group_id."&access_token=".$token);
$safe = json_decode($safe,true);
print_r($safe);
// итог
?>