Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

29.01.2010, 15:14
|
|
Познающий
Регистрация: 25.10.2009
Сообщений: 54
Провел на форуме: 62271
Репутация:
9
|
|
Переделал скрипт,но не пойму принцип работы,хотя написал сам...
PHP код:
<?php
$f ="clans/all.dat";
$general = @file($f);
$lines = count($general);
for ( $i = 0; $i <= $lines; $i++ ){
list($nenado,$nenado2,$nado)=explode('|', $general[$i]);
if($nado < '100'){ break; }
if($nado > ($lines / 100 * $nado)){ echo "<table width=100% cellpadding=2 cellspacing=1 class=forumline>
<tr>
<th width=62% colspan=2 class=thCornerL height=25 nowrap=nowrap>\"$nado\"</th>
<th width=28% class=thCornerR nowrap=nowrap>s</th>
</tr>"; }
if($i==$lines){ $dont_registr = 'yes'; }
}
?>
Вот он и выводит
"80 " s
"20 " s
А куда 3й делася?
Я брал 3 строки,появилось 2 
Последний раз редактировалось N2kroot; 29.01.2010 в 15:43..
|
|
|

29.01.2010, 16:06
|
|
Участник форума
Регистрация: 21.02.2008
Сообщений: 255
Провел на форуме: 975514
Репутация:
177
|
|
Сообщение от N2kroot
Переделал скрипт,но не пойму принцип работы,хотя написал сам...
Вот он и выводит
"80 " s
"20 " s
А куда 3й делася?
Я брал 3 строки,появилось 2 
попробуй добавить обработчики исключений рядом с break
как-нибудь так:
PHP код:
<?php
$f = "clans/all.dat";
$general = @file($f);
$lines = count($general);
for ( $i=0; $i<$lines; $i++ ) {
list($nenado,$nenado2,$nado)=explode('|', $general[$i]);
if( (int)$nado < 100 ){
echo 'Остановилось, потому что $nado меньше 100<br>';
break;
}
else if( $nado > ($lines / 100 * $nado) ) {
echo "<table width=100% cellpadding=2 cellspacing=1 class=forumline>
<tr>
<th width=62% colspan=2 class=thCornerL height=25 nowrap=nowrap>\"$nado\"</th>
<th width=28% class=thCornerR nowrap=nowrap>s</th>
</tr>";
}
else {
echo '$nado не вывелось потому что $nado больше чем ($lines/100*$nado)<br>';
}
if($i==$lines) { $dont_registr = 'yes'; }
}
|
|
|

29.01.2010, 17:57
|
|
Познающий
Регистрация: 25.10.2009
Сообщений: 54
Провел на форуме: 62271
Репутация:
9
|
|
Мне не надо остановку,мне надо просто вывести список по рейтингу..
Весь,а вот если рейтинг равен 10(у новых записей так стандартно),то выводится токо первая запись(
|
|
|

29.01.2010, 22:28
|
|
Участник форума
Регистрация: 11.06.2007
Сообщений: 134
Провел на форуме: 1098970
Репутация:
73
|
|
Подскажите скрипт, который не позволяет нажать на ссылку пока не нажмешь по другой ссылке. Пример: ссылка на скачивание "Скачать", когда на неё нажимаешь, появляется окно в котором нужно обязательно нажать на ссылку, тогда ссылка "Скачать" начинает перенаправлять куда нужно. Вот как то так)
|
|
|

30.01.2010, 01:59
|
|
Познающий
Регистрация: 09.11.2009
Сообщений: 30
Провел на форуме: 311773
Репутация:
26
|
|
Banderos_Russia, а почему бы не сделать, что бы в этом новом окне и была ссылка на реальное "Скачать"?
|
|
|

30.01.2010, 03:14
|
|
Участник форума
Регистрация: 01.01.2009
Сообщений: 138
Провел на форуме: 817404
Репутация:
82
|
|
мб тупой вопрос, но если есть допустим слово q1w2e3r4 и нужно перевести его в масссив так чтобы каждая буква стала элементом масссива попорядку?
|
|
|

30.01.2010, 06:17
|
|
Постоянный
Регистрация: 26.03.2008
Сообщений: 311
Провел на форуме: 3799424
Репутация:
479
|
|
Сообщение от Vlad&slav
мб тупой вопрос, но если есть допустим слово q1w2e3r4 и нужно перевести его в масссив так чтобы каждая буква стала элементом масссива попорядку?
строка это уже и есть как бы массив:
echo $str[0];
или же можно так.
PHP код:
echo '<pre>';
$str='q1w2e3r4';
$str=str_split($str);
print_r($str);
echo '</pre>';
Последний раз редактировалось #Wolf#; 30.01.2010 в 06:48..
|
|
|

30.01.2010, 08:07
|
|
Познающий
Регистрация: 27.09.2008
Сообщений: 67
Провел на форуме: 212146
Репутация:
8
|
|
нужна функция крторая вытащит из переменной строку по шаблону(например чтоб ватаскивал строку которая начинаяться с 123).
|
|
|

30.01.2010, 08:29
|
|
Участник форума
Регистрация: 20.04.2007
Сообщений: 174
Провел на форуме: 2310282
Репутация:
149
|
|
Сообщение от Jazz
нужна функция крторая вытащит из переменной строку по шаблону(например чтоб ватаскивал строку которая начинаяться с 123).
регулярные выражения?
PHP код:
if (preg_match('/^123(.*)/i', $mystring, $match)) {echo 'Строка начинающаяся с 123: '.$match[0];}
как то так.
|
|
|

30.01.2010, 09:51
|
|
Новичок
Регистрация: 10.01.2007
Сообщений: 16
Провел на форуме: 109680
Репутация:
2
|
|
Нужна помощь с рандомным перебором проксей, вот исхордный код
PHP код:
$match='#https?://([^/\s]+)\S+#i';
preg_match_all($match, $_POST['urls'], $matches);
$matches = array_values(array_combine($matches[1],$matches[0]));
$mh = curl_multi_init(); //Create multithread
$handles = array();
$useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"; // set user agent
//File with proxies to array
$proxyarr = file('http://localhost/checkproxy/proxies.txt', FILE_IGNORE_NEW_LINES);
//echo $proxyarr[array_rand($proxyarr, 1)]."<br>";
for ($i=0; $i<sizeof($matches);$i++) {
//Create URL
$request = 'someurl';
// create a new single curl handle
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 600);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
// add this handle to the multi handle
curl_multi_add_handle($mh,$ch);
// put the handles in an array to loop this later on
$handles[] = $ch;
}
// execute the multi handle
$running=null;
do {
curl_multi_exec($mh,$running);
// added a usleep for 0.25 seconds to reduce load
usleep (25000);
} while ($running > 0);
// get the content of the urls (if there is any)
for($i=0;$i<count($handles);$i++) {
$output = unserialize(curl_multi_getcontent($handles[$i]));
//ban check
if (!isset($output[ResultSet][totalResultsAvailable])) {
echo "<b>BAN</b><br>";
echo "$request";
exit(0);
}
$result[$matches[$i]]=$output[ResultSet][totalResultsAvailable];
curl_multi_remove_handle($mh,$handles[$i]);
}
Скрипт ходит по http и дергает URL, который отдает ему массив.
Но сам ресурс имеет свойство периодически банить по IP, для этого и нужны прокси.
Я бы с удовольствием воткнул в цикл
Код:
for($i=0;$i<count($handles);$i++)
нечто вроде
Код:
curl_setopt($ch, CURLOPT_PROXY, $proxyarr[array_rand($proxyarr, 1)]);
и у меня даеже есть проверка на бан
Код:
if (!isset($output[ResultSet][totalResultsAvailable]))
но как сделать так, чтобы в случае бана он сделал для этого же урл новую итерацию забора контента, но уже с новой рандомной проксей из того же массива $proxyarr? Стоит также учесть тот момент, что на следующей прокси результата тоже может не быть и прокси надо перебирать до победного.
Я сам вижу лишь вариант в добавлением неуспешных элементов(урлов) в спец массив и повторным прогоном их с рандомными проксям, но решение кривовато.
Последний раз редактировалось Nosfer; 30.01.2010 в 09:55..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|