Скрипт mp3 поисковика, типа vpleer.ru

Статус
В этой теме нельзя размещать новые ответы.
Мде ошибок море, половину исправил вроде вот не хватает функии одной stripos() выводит ошибку. Чё делать низнаю. :mad:
 
Мде ошибок море, половину исправил вроде вот не хватает функии одной stripos() выводит ошибку. Чё делать низнаю. :mad:



PHP:
<?php
error_reporting(E_ALL);

###############################
$self = 'audio_a.php';  //Имя скрипта
$accounts = 'accounts.txt'; //Файл с аккаунтами
################################

$page = !empty($_GET['page']) && is_numeric($_GET['page']) ? intval($_GET['page']) : '';
$q = !empty($_GET['q']) ? $_GET['q'] : '';
function account(){
    global $accounts;
	$file = file_exists($accounts) ? file($accounts) : '';
	   if($file){
	       $select = $file[mt_rand(0, count($file)-1)];
	       $exp = explode(':', $select);
	       $mail = str_replace('@', '%40', trim($exp[1]));
           return 'remixlang=0; remixchk=5; remixmid='.trim($exp[0]).'; remixemail='.$mail.'; remixpass='.md5(trim($exp[2]));
       }else return false;
}
function conn($q, $page){
    if(empty($page) || $page <= 1) $page = 0;
    else $page = ($page.'00' - 100);
    $q = 'q='.urlencode($q).'&add=1&st='.$page;
    $send = 'GET /audiosearch.php?'.$q." HTTP/1.1\r\n";
    $send .= "Host: vkontakte.ru\r\n";
    $send .= "User-Agent: Mozilla/5.0\r\n";
	$send .= "Pragma: no-cache\r\n";
	$send .= 'Cookie: '.account()." \r\n";
	$send .= "Connection: Close\r\n\r\n";
	$socket = @fsockopen('vkontakte.ru', 80, $errno, $errstr, 30);
	fputs($socket, $send);
	$line = '';
	while(!feof($socket)){
	  $line .= fgets($socket, 4096);
	}
	eregi('<div class="summary">(.*)<div id="boxHolder">', $line, $matches);
	return stripos($matches[1], 'не найдено') ? false : $matches[1];
}
function pages($str, $page, $q){
	global $self;
	if(preg_match("/<ul class='pageList'>(.+)<li/is", $str)){
       $total = 25; //Сколько выводить страниц
       $page = empty($page) || $page <= 1 || $page > $total ? 1 : $page;
       $back1 = '<span class="pages"><a href="'.$self.'?q='.$q.'&amp;page='.($page - 1).'">'.($page - 1).'</a></span>';
       $back2 = '<span class="pages"><a href="'.$self.'?q='.$q.'&amp;page='.($page - 2).'">'.($page - 2).'</a></span>';
       $back3 = '<span class="pages"><a href="'.$self.'?q='.$q.'&amp;page='.($page - 3).'">'.($page - 3).'</a></span>';
       $forw1 = '<span class="pages"><a href="'.$self.'?q='.$q.'&amp;page='.($page + 1).'">'.($page + 1).'</a></span>';
       $forw2 = '<span class="pages"><a href="'.$self.'?q='.$q.'&amp;page='.($page + 2).'">'.($page + 2).'</a></span>';
       $forw3 = '<span class="pages"><a href="'.$self.'?q='.$q.'&amp;page='.($page + 3).'">'.($page + 3).'</a></span>';
       if(empty($page) || $page <= 1){
          $minus = '';
          $first = '';
       }else{
      	  $minus = '<span class="pages"><a href="'.$self.'?q='.$q.'&amp;page='.($page - 1).'" title="Предыдущая">&laquo;</a></span>';
          $first = '<span class="pages"><a href="'.$self.'?q='.$q.'&amp;page=1" title="Первая страница">&laquo;&laquo;</a></span>';
       }
       if($page == $total){
          $plus = '';
          $last = '';
       }else{
          $plus = '<span class="pages"><a href="'.$self.'?q='.$q.'&amp;page='.($page + 1).'" title="Следующая">&raquo;</a></span>';
          $last = '<span class="pages"><a href="'.$self.'?q='.$q.'&amp;page='.$total.'" title="Последняя страница">&raquo;&raquo;</a></span>';
       }
       if(($page + 1) > $total) $forw1 = '';
       if(($page + 2) > $total) $forw2 = '';
       if(($page + 3) > $total) $forw3 = '';
       if(($page - 1) <= 0) $back1 = '';
       if(($page - 2) <= 0) $back2 = '';
       if(($page - 3) <= 0) $back3 = '';
       $all_pages = 'Страницы: '.$first.$minus.$back3.$back2.$back1.'<span class="pages"><b>'.$page.'</b></span>'.$forw1.$forw2.$forw3.$plus.$last;
       return $all_pages;
	}
	else return '';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<title>Wusic - Поиск Музыки XXI Века!</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<meta name="Copyright" content="Ибрагимов Арсен Рамилевич" />
<style><!--
body{
	font-family:Verdana,Tahoma;
	font-size:12px;
	color:black;
}
table{
	border-collapse: collapse;
	margin-left:5px;
	width:45%;
}
td{
	text-align:center;
	padding:3px;
}
.input{
    width: 300px;
    padding: 1px;
    font-size: 11px;
    color: black;
    border-bottom: 1px solid #587286;
	border-top: 1px solid #587286;
	border-left: 1px solid #587286;
	border-right: 1px solid #587286;
}
.submit{
    background-color:#bec0c4;
    vertical-align: middle;
    text-align: center;
    width: 60px;
    height: 20px;
    font-size:11px;
    color: black;
}
a:link, a:visited, a:active{
    color: #0066cc;
    text-decoration: none;
}
a:hover, pages:hover{
    color: #0099FF;
    text-decoration:underline;
}
.pages{
	vertical-align: middle;
	letter-spacing: 1pt;
	padding: 1px;
	font-size: 11px;
}
-->
</style>
</head><body><center>
<h4>Wusic - Поиск Музыки XXI Века!</h4>
<form action="<?=$self?>" method="get">
<input type="text" class="input" style="height:15px;" name="q" value="<?=$q?>" style="width:200px%;"/>
<input type="submit" class="submit" value="Поиск" /></form>
<?php
if($q){
    $conn = conn($q, $page);
    if(!$conn){
      echo '<br />По вашему запросу ничего не найдено<br/>';
    }else{
	  preg_match("/Найдено (.*) (.*).<\/div>(.+)<div>/iUs", $conn, $all);
      echo '<br />Найдено '.intval($all[1]).' аудиозаписей<br /><br />';
      preg_match_all('/<td style="width: 18px; vertical-align:top">(.+)<td style="width: 40px;">/siU', $conn, $music);
      echo '<table><tr><td colspan="3" style="text-align:left;"><span class="pages">'.pages($all[3] ,$page, $q).'</span></td></tr>';
      foreach($music[0] as $muz){
         preg_match('/operate\((\d+)[^0-9]+(\d+)[^0-9]+(\d+)[^0-9a-zA-Z]+([0-9a-zA-Z]+)[^0-9]+(\d+)/', $muz, $arr);
         preg_match('/<b id="performer(\d+)">(.+)<\/b> - <span id="title(\d+)">(.+)<\/span>/i', $muz, $names);
         preg_match('/<div class="duration">(\d{1,2}\:\d{1,2})<\/div>/s',$muz, $time);
         @$get_time = $time[1] ? $time[1].' min&nbsp;': '';
         echo '<tr><td style="text-align:left;"><b>'.@strip_tags($names[2]).'</b> - '.@strip_tags($names[4]).'</td><td width="15%">'.$get_time.'</td><td width="15%">
		 <a href="http://cs'.$arr[2].'.vkontakte.ru/u'.$arr[3].'/audio/'.$arr[4].'.mp3">Скачать</a></td>';
      }
      echo '<tr><td colspan="3" style="text-align:left;"><span class="pages">'.pages($all[3], $page, $q).'</span></td></tr></table>';
    }
}
?>
</center></body></html>

где тут ошибки?=\
вроде работает но Для просмотра ссылки Войди или Зарегистрируйся
 
return stripos($matches[1], 'не найдено') ? false : $matches[1];

Fatal error: Call to undefined function: stripos() in d:\web\server\webmail\www\music\audio_a.php on line 38

:tcl:
 
Ты файл accounts.txt создал?
в него свой акк от вконтакте записал так:
ид:мыло:пароль

???
 
Да создал и всё равно пишет нет функции
 
_http://www.php.net/stripos
Возможно у тя на сервере не php5 а php4
у меня такой ошибки нету не на локалки не на сервере

ты попробывал запустить ту версию скрипта которую я показал в этом посте
Для просмотра ссылки Войди или Зарегистрируйся

???
 
Да 4 как исправить не переставляя ПХП? :(
 
Поменял на другию фунцию strpos всё похло, но при поиске выдаёт савсем другое, пишу мадонна выдаёт вообще хрень. :ah:
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху