Как правильно использовать параметр attachments
на api vk метод wall.post
в php делаю так:
$user_wall = $vk->api('wall.post', array(
'owner_id' => '197240174',
'friends_only' => '0',
'message' => 'name',
'access_token' => $token,
'attachments' => '<type>photo-http://gd3.alicdn.com/bao/uploaded/i3/3003094957/TB2pDa5aA1M.eBjSZFFXXc3vVXa_!!3003094957.jpg'
));
а именно надо постить изображения по ссылке. Без загрузки в вк
Лично я использую такой код для сохранения фотографии на сервере ВК и получении ее ссылки. В переменной $fok
и будет необходимая ссылка на картинку, для вставки в attachments
file_put_contents('1.jpg', file_get_contents(//линк на фотку)); //Сохраняем картинку к себе
$tok = 'xxxxxxxxxxxxxxxx'; ///Токен
$myidgr = 'xxxxxxx'; ///ID или домен группы - паблика
$imga = '1.jpg'; ///Картинка для постинга
///Получаем разрешение на загрузку картинки Вконтакте
$getwall = 'https://api.vk.com/method/photos.getWallUploadServer?group_id='.$myidgr.'&access_token='.$tok;
$dl = file_get_contents($getwall);
$dl = json_decode($dl); ///Декодируем json
$dl = $dl->response->upload_url; ///Получаем ссылку загрузки от Вконтакте
$file = new CURLFile(realpath("$imga")); ///Загружаем картинку
$ch = curl_init($dl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('photo' => $file));
$data = curl_exec($ch);
curl_close($ch);
///Получаем данные для сохранения картинки
$fot = $data; ///Получаем данные из массива
$fot = json_decode($data); ///Декодируем json
$fot = $fot->photo; ///Получаем данные из массива
$hash = json_decode($data); ///Декодируем json
$hash = $hash->hash; ///Получаем данные из массива
$serv = json_decode($data); ///Декодируем json
$serv = $serv->server; ///Получаем данные из массива
///Сохраняем фото на сервер Вконтакте
$savephoto = 'https://api.vk.com/method/photos.saveWallPhoto?group_id='.$myidgr.'&hash='.$hash.'&server='.$serv.'&photo='.$fot.'&access_token='.$tok;
$result = file_get_contents($savephoto);
$fok = json_decode($result); ///Декодируем json
$fok = $fok->response->id; ///Получаем данные из массива
///Вырезаем данные из информации после сохранения на сервер (Использовать если не работает переменная // $result)
$fok = substr($result, strpos($result,'"id":"')+6, strlen($result)); ///Отрезаем начало до photo
unlink('1.jpg'); //Удаляем картинку
Хочу перед тем, как сохранить строку в базе, сделать некие манипуляцииНо данных находящихся в $this не хватает
Написал скрипт, есть необходимость проверить пришедший на него post запрос на наличие домена в блек листеТ
У меня нарисовалась мелкая, но неприятная помарка при выводе датыНа странице меток пункты списка должны выглядеть так: