На этот раз мне захотелось еще раз вые выпиндриться, и сделать в своем scrape поддержку Multi Scrape запросов.
Долгие пляски вокруг $_GET, фактически ничего не дали но зато дал плоды $_SERVER['QUERY_STRING'].
Зацепившись за него минут за 15 накатал простенькую функцию которая выдает массив хеш-сумм переданные в URI. В случае если хотя бы одна хеш-сумма не будет равна 20 символам то функция завершиться с ошибкой Invalid info_hash.
Сама функция:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | function scrape_parse_query() { $info_hash = array(); $query = $_SERVER['QUERY_STRING']; $query = explode("&", $query); foreach($query as $k) { list($key, $value) = explode('=', $k); $key = str_replace('?', '', $key); $value = urldecode($value); if($key == 'info_hash' && strlen($value) == 20) { $info_hash[] = bin2hex($value); } else { if(strlen($value) != 20 and $key == 'info_hash') { msg_die('Invalid info_hash'); } } } return $info_hash; } |
На выходе у функции будет массив хеш-сумм (в BTIH).
Что с данными хеш суммами делать, решайте сами.
Кстати, чуть не забыл сказать, данная функция писалась под scrape на основе TorrentPier.