Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   пэхопе (https://forum.antichat.xyz/showthread.php?t=66687)

rubik-nerubik 07.04.2008 21:33

пэхопе
 
вообщем мне до этого человек помогал(http://forum.antichat.ru/showthread.php?t=66234), но только это не то
нужно следующее:
1)открываем файл и ищем заданную конструкцию
......
Nickname 240
......

и после выдаем отдельно Nickname(ник может быть и с цифрами, кароче в случайном порядке) и 240(только цифры и длинна от 1 до 99999999).

2)имея то что выше,(код) мы получили путь к файлу и после чего открываем допустим users\Nickname\240\mes.txt
######################mes.txt#####
<td bgcolor='#D6E0BE'>&nbsp;&nbsp;secretservice:&nbsp; &nbsp; &quot;eeeeeeeee&quot;&nbsp;&nbsp;21:42 29.03.2008 [0]</td></tr> <tr><td bgcolor='#D6E0BE'><input type=checkbox value='ON'>&nbsp;&nbsp;<a href='users\240\1212'>Nickname</a>:&nbsp;&nbsp; &quot;<a href='index.php?page=message&opt=open&namemes=1212 '>re</a>&quot;&nbsp;&nbsp;14:25 01.0102008 [0]</td></tr>
######################
ищет выделнное и после чего далее ищет
ищет циферку далее в [] и прибавляет один и сохраняет в тот же файл

плиз... и если можно не в прег матч, так как я думаю будет нагрузка файл постоянно крутить. ведь так? допустим файл будет иметь размер в 1 мегабайт.

Isis 08.04.2008 10:30

PHP код:

<?php
preg_match
("#Nickname [0-9]+#is"file_get_contentы('1.txt'), $xek);
echo 
'<pre>';
print_r($xek);
echo 
'</pre>';
?>

Дальше сам найдешь...

NOmeR1 08.04.2008 11:36

Ися, ошибочка небольшая, надо #Nickname [0-9]+#is

astrologer 08.04.2008 12:14

и
Код:

file_get_contents

Isis 08.04.2008 12:41

Ой ну придрались..
Между прочим я специально =)

NOmeR1 08.04.2008 12:51

И file_get_contentы тоже специально? =D

Isis 08.04.2008 13:05

Пусть будет))

NOmeR1 08.04.2008 13:14

Если честно, не понял, что точно надо.
PHP код:

<?php
    
// {
        
$file 'file.txt';
    
// }
    
$astrologer file_get_contents($file);
    
preg_match_all('~[^\n\s]+ [0-9]+~i'$astrologer$nomer1);
    foreach(
$nomer1[0] as $isis) {
        
$isis explode(" "$isis);
        
$url 'users\\'.$isis[0].'\\'.$isis[1].'\mes.txt';
    }
?>

В цикле переменная $url будет являться путём до users\Nickname\240\mes.txt. Дальше не понял, что делать.

GreenBear 08.04.2008 13:22

Цитата:

foreach($nomer1[0] ass $isisa) {
:D:D

NOmeR1 08.04.2008 14:56

Я догнал)
Вот тебе скрипт рабочий
PHP код:

<?php
    
// {
        
$file 'file.txt';
    
// }
    
$astrologer file_get_contents($file);
    
preg_match_all('~[^\n\s]+ [0-9]+~i'$astrologer$nomer1);
    foreach(
$nomer1[0] as $isis) {
        
$green_bear explode(" "$isis);
        
$url 'users\\'.$green_bear[0].'\\'.$green_bear[1].'\mes.txt';
        
$old_contents file_get_contents($url);
        
$contents preg_replace_callback(
            
'~('.preg_quote($green_bear[0], '~').'</a>.+\[)([0-9]+)(\])~sU',
            
create_function(
                
'$matches',
                
'return $matches[1].($matches[2] + 1).$matches[3];'
            
),
            
$old_contents
        
);
        if(
$old_contents != $contents) {
            
$fopen fopen($url'w') or die('Bad done');
            
fwrite($fopen$contents) or die('Bad done');
            
fclose($fopen);
        }
    }
    echo(
'Well done');
?>



Время: 12:09