[?] Помогите разобраться со скриптом...

Статус
В этой теме нельзя размещать новые ответы.

troll90945

Читатель
Заблокирован
Регистрация
29 Фев 2008
Сообщения
109
Реакции
47
  • Автор темы
  • Заблокирован
  • #1
Не могу понять, где тут косяк в десятой строке... И всё тут...
Все мозги уже вытекли... =)
Код:
<?php
//Создаём массивы
$array = file('file');
$povtor[]=1;
//задаём переменные.
$e=1;
$a=1;
//делаем шаблон
$p1="^([0-9a-z]+)([0-9a-z\.-_+=]+)@([0-9a-z\.-_]+)\.([0-9a-z]+):([a-zа-я0-9\.,-_])";
$p2="^([0-9a-z]+)([0-9a-z\.-_+=]+)@([0-9a-z\.-_]+)\.([0-9a-z]+):([a-z0-9\.,-_])";

//начало цыкла 
foreach($array as $v)
// сортируем на мусор.
{  if (eregi($p1,$v)){ $r1=$v  ;}                                    
    Else {$str = "$v\n";
          $fo = fopen("file1","a++");
          fwrite($fo,$str);
          fclose($fo);
          Echo"мусор $a";
          $a++ }
//цикл сравнения на повтор
   foreach($povtor as $k)
   {if($r1!=$k){ Echo"Повтор";}
   else{$9++}}

//проверка языка пароля                         
   if(eregi($p2,$r1)){  $str = "$r1\n";
                        $fo = fopen("filer","a+");
                        fwrite($fo,$str);
                        fclose($fo);
                        Echo"$r1 Русский пароль <br>";
                        //добовления значения в масив в сверки 
                        $povtor[]=$r1  }
else{$str = "$1\n";
      $fo = fopen("filee","a+");
      fwrite($fo,$str);
      fclose($fo);
      Echo"$r1 Русский пароль <br>";}
//добовления значения в масив в сверки 
$povtor[]=$r1             


                 
$e++;}
//
echo"   $e  $e1;
?>
 
В 10 строчке ошибок нет, а вот тут есть
PHP:
echo"   $e  $e1;

думаю лучше будет так

PHP:
echo   $e . $e1;

и откуда взялась переменая $e1?
 
Вот это вот тогда думаю тоже стоит исправить:
Echo"мусор $a";
Echo"$r1 Русский пароль <br>";
На это:
echo "мусор ".$a;
echo $r1." Русский пароль <br>";
А то какие нормальные программисты ставят переменные в кавычки?!:)
те, которые знают, что в двойных кавычках переменные обрабатываются,
а в одинарных - нет
 
  • Автор темы
  • Заблокирован
  • #4
Я тут поковырялся немного...

Получилось вот что... Но всё равно не завершает цикл...
Идёт в бесконечность... =)

Код:
<?php
//Создаём массивы
$array = file('file');
$povtor[]=1;
//задаём переменные.
$e=1;
$e1=1;
$e2=1;
$e3=1;
$a=1;
//делаем шаблон
$p1="^([0-9a-z]+)([0-9a-z\.-_+=]+)@([0-9a-z\.-_]+)\.([0-9a-z]+):([a-zа-я0-9\.,-_])";
$p2="^([0-9a-z]+)([0-9a-z\.-_+=]+)@([0-9a-z\.-_]+)\.([0-9a-z]+):([а-я0-9\.,-_])";

//начало цыкла 
foreach($array as $v)
// сортируем на мусор.
{  if (eregi($p1,$v)){$r1=$v;}                                    
    Else {$str = "$v\n";
          $fo = fopen("file1","a+");
          fwrite($fo,$str);
          fclose($fo);
          Echo"мусор $a";
          $a++; 
}
//цикл сравнения на повтор
   foreach($povtor as $k)
   {if($r1!=$k){ $str = "$r1\n";
                 $fo = fopen("file1","a+");
                 fwrite($fo,$str);
                 fclose($fo);
                 $a++; 
                 Echo"1";}
     else{Echo"j";}
              //проверка языка пароля                         
              if(eregi($p2,$r1)){  $str = "$r1\n";
                        $fo = fopen("filer","a+");
                        fwrite($fo,$str);
                        fclose($fo);
                        Echo"$r1 Русский пароль <br>";
                        //добовления значения в масив в сверки 
                        $povtor[]=$r1; 
                        //с
                        $e1++;
                        $e2++;
                              }
    
      else {$str = "$r1\n";
      $fo = fopen("filee","a+");
      fwrite($fo,$str);
      fclose($fo);
      Echo"$r1 Русский пароль <br>";
      //добовления значения в масив в сверки 
      $povtor[]=$r1; 
      //с
      $e1++;
      $e3++;  
}          
              
$e++;}
echo "Всего обработано $e  из них нормальных $e1 с русским паролям $e2 с англиским паролям $e3";
?>
 
Какой из циклов?...
Если первый - проверь: мой редактор закрывающей скобки } не обнаружил...
А вообще-то - структурируй код, плиз: и сам запутался...;)
 
Пройдись один раз дебагом и сам сразу найдешь
 
  • Автор темы
  • Заблокирован
  • #7
Дописал скрипт всё работает. только остался один вопрос
где я допустил ошибку в шаблонах. он у меня не хочет записи с русскими буквами раскидывать по разным файлам.
Подскажите где косяк????
Код:
<?php
//Создаём массивы
$array = file('file');
$povtor[]=9;
//задаём переменные.

//делаем шаблон
$habloh1="^([0-9a-z\.-_+=]+)([0-9a-z\.-_+=]+)@([0-9a-z\-_]+)\.([0-9a-z]+):([a-zа-я0-9\.,-_])";
$habloh2="^([0-9a-z\.-_+=]+)([0-9a-z\.-_+=]+)@([0-9a-z\-_]+)\.([0-9a-z]+):([а-я0-9\.,-_])";
$habloh3="^([0-9a-z\.-_+=]+)([0-9a-z\.-_+=]+)@([0-9a-z\-_]+)\.([ru]+):([a-zа-я0-9\.,-_])";
$habloh4="^([0-9a-z\.-_+=]+)([0-9a-z\.-_+=]+)@([0-9a-z\-_]+)\.([com]+):([a-zа-я0-9\.,-_])";
$habloh5="^([0-9a-z\.-_+=]+)([0-9a-z\.-_+=]+)@([0-9a-z\-_]+)\.([by]+):([a-zа-я0-9\.,-_])";
$habloh6="^([0-9a-z\.-_+=]+)([0-9a-z\.-_+=]+)@([0-9a-z\-_]+)\.([ua]+):([a-zа-я0-9\.,-_])";
$habloh7="^([0-9a-z\.-_+=]+)([0-9a-z\.-_+=]+)@([0-9a-z\-_]+)\.([net]+):([a-zа-я0-9\.,-_])";
//начало цыкла 
foreach($array as $v)
// сортируем на мусор.
{   if (eregi($habloh1,$v)){$str = "$v";
                            $fo = fopen("nemysor","a+");
                            fwrite($fo,$str);
                            fclose($fo);
                           }                                    
    Else {$str = "$v";
          $fo = fopen("mysor","a+");
          fwrite($fo,$str);
          fclose($fo);
          $a++; 
}}
echo"Сортировка на мусор окончена <br> мусорных $a <br>"; 
echo" начало сверки на повтор <br>";

$str = "$a";
$fo = fopen("good","a+");
fwrite($fo,$str);
fclose($fo);
$array1[]=$good;

$array = file('nemysor');
foreach($array as $v1)
       {$p=0;
        $array1= file('good'); 
         if(in_array($v1,$array1)){$pov=$v1;
                                   $str = "$pov";
                                   $fo = fopen("pov","a+");
                                   fwrite($fo,$str);
                                   fclose($fo);}
                                    
          else {$good=$v1;
               $str = "$good";
               $fo = fopen("good","a+");
               fwrite($fo,$str);
               fclose($fo);
               $array1[]=$good;
               $q++;}
}

   

   //$bezpovtopa[]=$nepovtor;
   //$p++;}

$array = file('good');
foreach($array as $v1)
{if (eregi($habloh2,$v1)) {if (eregi($habloh3,$v1)){$v1;
                          $str = "$v1";
                          $fo = fopen("ru1","a+");
                          fwrite($fo,$str);
                          fclose($fo);
                           $d1++ ; }
else{if (eregi($habloh4,$v1)){$v1;
                          $str = "$v1";
                          $fo = fopen("com1","a+");
                          fwrite($fo,$str);
                          fclose($fo);
                             $d2++;}
else{if (eregi($habloh5,$v1)){$v1;
                          $str = "$v1";
                          $fo = fopen("bu1","a+");
                          fwrite($fo,$str);
                          fclose($fo);
                             $d3++;}
else{if (eregi($habloh6,$v1)){$v1;
                          $str = "$v1";
                          $fo = fopen("ua1","a+");
                          fwrite($fo,$str);
                          fclose($fo);
                              $d4++;}
else{if (eregi($habloh7,$v1)){$v1;
                          $str = "$v1";
                          $fo = fopen("de1","a+");
                          fwrite($fo,$str);
                          fclose($fo);
                            $d5++;}

else{$v1;
      $str = "$v1";
      $fo = fopen("perebrat","a+");
      fwrite($fo,$str);
      fclose($fo);
         $d6++;}}}}}}
else{ if (eregi($habloh3,$v1)){$v1;
                          $str = "$v1";
                          $fo = fopen("ru","a+");
                          fwrite($fo,$str);
                          fclose($fo);
                           $d1++ ; }
else{if (eregi($habloh4,$v1)){$v1;
                          $str = "$v1";
                          $fo = fopen("com","a+");
                          fwrite($fo,$str);
                          fclose($fo);
                             $d2++;}
else{if (eregi($habloh5,$v1)){$v1;
                          $str = "$v1";
                          $fo = fopen("bu","a+");
                          fwrite($fo,$str);
                          fclose($fo);
                             $d3++;}
else{if (eregi($habloh6,$v1)){$v1;
                          $str = "$v1";
                          $fo = fopen("ua","a+");
                          fwrite($fo,$str);
                          fclose($fo);
                              $d4++;}
else{if (eregi($habloh7,$v1)){$v1;
                          $str = "$v1";
                          $fo = fopen("de","a+");
                          fwrite($fo,$str);
                          fclose($fo);
                            $d5++;}

else{$v1;
      $str = "$v1";
      $fo = fopen("perebrat","a+");
      fwrite($fo,$str);
      fclose($fo);
         $d6++;}}}}}} }
//if( is_fale('file')){echo"ок";}
//else{echo"!!!!!";}



echo "всего $q  из них RU $d1 COM $d2 BU $d3 UA $d4 NET$d5 непонятных $d6";
echo"завершение";
$fd=fopen("file","w+");

?>

Если кто сможет подсказать как упростить код буду очень рад. а то сильно грузит сервер.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху