Нужен человек знающий PHP по скрипту mp3 поиска

microCD
На сайте с 07.12.2010
Offline
78
607

Здравствуйте товарищи программисты.

Нужно переделать mp3 поисковик - работающий на API v2 в вконтакте под API v3.

Скрипт и сейчас нормально работает, но нужно успевать за обновлениями.

ICQ - 741-89семь

ЗЫ - система API vk2 такова.


<?php
/*
Предположим у нас есть форма поиска, которая передаёт переменную $query методом GET
Наша задача принять эту переменную, и подготовить к отправке
*/
$query = isset($_GET['query']) ? $query = urldecode($_GET['query']) : '';

/*
Если ваши страницы не в кодировке UTF-8 а в CP1251,
то строку поиска нужно сконвертировать в UTF-8
*/
$query = iconv('cp1251', 'utf-8', $query);

/*
Создадим массив с нужными для работы приложения переменными
Так же можно задать параметры касающиеся сортировки и текста к песне
*/
$set_vk = array(
'vk_key' => 'ТУТВАШКЛЮЧ', //ключ приложения
'vk_l' => '0000000', //ID вашего аккаунта
'api_id' => '000000', //ID приложения
'count_results' => 150, //Сколько возвращать результатов
);

/*
Уникальная сигнатура запроса, согласно API
*/
$sig_vk = md5(
$set_vk['vk_l'].'api_id='.$set_vk['api_id'].'count='.$set_vk['count_results']
.'lyrics=0method=audio.searchoffset=0q='.$query.'sort=0test_mode=1v=2.0'.$set_vk['vk_key'];
);


//Делаем POST-запрос к API, передавая подготовленные параметры
$xml_response = Send_Post(
'http://api.vkontakte.ru/api.php',
'api_id='.$set_vk['api_id'].'&count='.$set_vk['count_results'].''.
'&lyrics=0&method=audio.search&offset=0&q='.$query.'&sort=0&test_mode=1&v=2.0&sig='.$sig_vk,
'http://vkontakte.ru/app'.$set_vk['api_id'].'_'.$set_vk['api_id'].''
);

if(empty($xml_response))
{
//API не дал ответа
}
else
{
//Парсим XML-ответ и получаем объект с результатами поиска
$parse = simplexml_load_string($xml_response);

//Полученый ответ можно обрабатывать как нам уже угодно

//Распечатать объект для изучения
echo '<pre>';
print_r($parse);
echo '</pre>';

//Или пройтись в цикле и выполнить некое действие
//Вывести Артист - Название (продолжительность) и ссылку на скачку файла
foreach($parse->audio as $key => $val)
{
echo $val->artist.' - '.$val->title.' ('.date('i:s', (int)$val->duration).')'."\n";
echo $val->url."\n\n";
}
}
?>

Copy Source | Copy HTML
<?php
/*
Функция для отправки POST-запросов с использованием Curl
*/

function Send_Post($post_url, $post_data, $refer)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $post_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.00');

$data = curl_exec($ch);
curl_close($ch);
return $data;
}
?>
Услуга семантическое ядро на заказ (http://pyatko.ru/uslugi/?utm_source=%D1%81%D0%B5%D1%80%D1%87link1) | Статья как собрать семантическое ядро с Key Collector (http://pyatko.ru/key-collector-instrukciya/?utm_source=%D1%81%D0%B5%D1%80%D1%87link2)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий