PDA

Просмотр полной версии : пэхопе


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
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
// {
$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
// {
$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');
?>