
06.09.2008, 11:28
|
|
Участник форума
Регистрация: 14.07.2007
Сообщений: 108
С нами:
9909614
Репутация:
305
|
|
Есть файл vhosts.conf(~ 3,5 Mb).
Пример одной записи из него:
Код:
<VirtualHost *>
<Directory /home/sites/x/xxx.ru>
Options +Includes
# -FrontPage-
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Limit PUT DELETE>
order deny,allow
deny from all
</Limit>
AuthName xxx.ru
AuthUserFile /home/sites/x/xxx.ru/_vti_pvt/service.pwd
AuthGroupFile /home/sites/x/xxx.ru/_vti_pvt/service.grp
</Directory>
ServerAdmin postmaster@xxx.ru
DocumentRoot /home/sites/x/xxx.ru/
ServerName xxx.ru
ServerAlias www.xxx.ru
ScriptAlias /cgi-bin/ /home/sites/x/xxx.ru/cgi-bin/
CustomLog /usr/local/apache/logs/combined/xxx.ru.access_log combined
BandWidthModule "On"
BandWidthPulse 1000000
MaxConnection 0
<Directory "/home/sites/x/xxx.ru">
# 1 mbps channel
BandWidth all 131072
</Directory>
</VirtualHost>
Мне нужно отпарсить его так, чтобы в другом файле были записи AuthName, AuthUserFile в виде xxx.ru:/home/sites/x/xxx.ru/_vti_pvt/service.pwd
В регулярках я - полный ноль(в php тоже почти). Пропарсил много тем, но всё что пробывал - не работает...
Последнее, на чем встал -
PHP код:
<?php
error_reporting(E_ALL);
set_time_limit(0);
$fr=fopen("t.txt","r");
$fp=fopen('file.txt', 'a+');
while (!feof ($fr))
{
$buffer = fgets($fr,255);
preg_match("#AuthName (.*)#", $buffer, $r);
preg_match("#AuthUserFile (.*)#", $buffer, $r1);
fwrite($fp, $r[1].":".$r1[1]."\r\n");
}
echo "Все сделано";
fclose($fr);
fclose($fp);
?>
Но выводит в файл в виде:
Код:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
xxx.ru
:
:/home/sites/x/xxx.ru/_vti_pvt/service.pwd
:
:
:
:
:
:
:
:
:
Еще ошибка:
Notice: Undefined offset: 1 in z:\home\test.ru\www\sort.php on line 14
В чём трабла?
P.S. Про плюсы не забуду...
Последний раз редактировалось Saint-Sky; 06.09.2008 в 12:58..
|
|
|