ВКонтакте
29
Вклад в тег
<img>
, которые хостятся на серверах ВКонтакте. Когда юзер загружает эту картинку, то ВКонтакте с помощью cookies определяет ID пользователя и добавляет его в группу ретаргетинга. Затем этой группе можно будет показывать объявления.response: {
upload_url: 'http://cs12129.vkontakte.ru/upload_video.php?act=add_video&mid=15748&oid=66748&vid=164322743&fid=0&tag=122517f2&hash=8bf2ea4bb66ca67d28fb&swfupload=1',
vid: 164322743,
owner_id: 66321,
name: 'No name',
description: '',
access_key: 'e6822bfb86f90a149c'
}
{
"size":1234,
"video_id":1234567
}
<?php
define('VK_ACCESS_TOKEN', '533bacf01e11f55b536a565b57531ac114461ae8736d6506a3');
define('VK_API_VERSION', 5.53);
// // //
// Скачиваем видео с внешнего сервера на свой сервер
// // //
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://cache-spb07.cdn.yandex.net/kp.cdn.yandex.net/558075/kinopoisk.ru-L_odyss__233_e-311292.mp4');
curl_setopt($ch, CURLOPT_HTTPGET, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, TRUE);
$curl_result = curl_exec($ch);
curl_close($ch);
// Кладем видео в папку со скриптом
$fp = fopen('kinopoisk.ru-L_odyss__233_e-311292.mp4', 'x');
fwrite($fp, $curl_result);
fclose($fp);
// // //
// Получаем адрес ссылки, куда загружать видео
// // //
$ch = curl_init();
$parameters = http_build_query([
'access_token' => VK_ACCESS_TOKEN, // access_token / ключ доступа
'v' => VK_API_VERSION, // версия API
'name' => 'Имя видеозаписи',
'description' => 'Исчерпывающее описание нашей первой видеозаписи.',
'group_id' => 125004421, // ID группы
'no_comments' => 0 // разрешаем комментирование
]);
curl_setopt($ch, CURLOPT_URL, 'https://api.vk.com/method/video.save?' . $parameters);
curl_setopt($ch, CURLOPT_HTTPGET, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$curl_result = json_decode(curl_exec($ch), TRUE); // превращаем JSON-массив, который нам вернул VK, в обычный PHP-массив
curl_close($ch);
// // //
// Загружаем видео на серверы ВК
// // //
$ch = curl_init();
$parameters = [
'video_file' => new CURLFile('kinopoisk.ru-L_odyss__233_e-311292.mp4') // PHP >= 5.5.0
// 'video_file' => '@kinopoisk.ru-L_odyss__233_e-311292.mp4' // PHP < 5.5.0
];
curl_setopt($ch, CURLOPT_URL, $curl_result['response']['upload_url']);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, TRUE); // если PHP < 5.5.0, то эту строку надо закомментировать
$curl_result = json_decode(curl_exec($ch), TRUE);
curl_close($ch);
if (isset($curl_result['error'])) {
exit('Строка ' . __LINE__ . ': Ошибка при загрузке видео на серверы ВК: ' . $curl_result['error'] . '.');
}
echo 'Видеозапись успешно загружена.';
/\[((?:club|id)[0-9]+)\|(.+)\]/
<a href="//vk.com/$1">$2</a>
$comment = preg_replace('/\[((?:club|id)[0-9]+)\|(.+)\]/', '<a href="//vk.com/$1">$2</a>', $comment);
<script src="https://www.google.com/recaptcha/api.js?onload=recaptchaCallback&render=explicit" async defer></script>
recaptchaCallback()
).var feedbackCaptcha;
var authCaptcha;
function recaptchaCallback() {
feedbackCaptcha = grecaptcha.render('feedback_captcha', {
'sitekey' : 'ваш_site_key',
'theme' : 'dark'
});
authCaptcha = grecaptcha.render('auth_captcha', {
'sitekey' : 'ваш_site_key'
});
}
recaptchaCallback()
, при вызове которой будут рендериться две капчи: одна в элементе #feedback_captcha
, а вторая - в #auth_captcha
. У первой капчи будет тёмная тема.<form>
<!-- тут какие-то поля для оставления отзыва о сайте -->
<div id="feedback_captcha"></div>
</form>
<form>
<!-- тут какие-то поля для авторизации -->
<div id="auth_captcha"></div>
</form>
grecaptcha.reset(authCaptcha)
curl_setopt($ch, CURLOPT_POSTFIELDS, array('photo' => $image_url));
curl_setopt($ch, CURLOPT_POSTFIELDS, array('photo' => '@path/to/image.jpg'));
curl_setopt($ch, CURLOPT_POSTFIELDS, array('photo' => new CURLFile('path/to/image.jpg')));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data; charset=UTF-8'));