2017-02-06 2 views
1

У меня есть текстовый файл:Как совместить второе вхождение в php?

; UNIX: "/path1:/path2" 
;include_path = ".:/php/includes" 
doc_root = "/www/"             
user_dir =         
extension_dir = "/usr/lib/php" 
enable_dl = On    
;cgi.force_redirect = 1  
;cgi.nph = 1     
;cgi.redirect_status_env = ; 
cgi.fix_pathinfo=1   
;fastcgi.impersonate = 1; 
;fastcgi.logging = 0 
;cgi.rfc2616_headers = 0 

Я хочу, чтобы соответствовать /www/ вот что я пытался до сих пор:

<?php 
$phpini = file_get_contents('/etc/php.ini'); 
preg_match('/doc_root = ".*/', $phpini, $doc_root); 
echo $doc_root[0]; 
?> 

Но он печатает doc_root = "/www/" вместо /www/. Как я могу это сделать ?

+0

Включите '. *' в группу захвата '(. *)', а затем 'var_dump ($ doc_root)', чтобы увидеть, что еще он содержит. – castis

ответ

2

не ответ на ваш точный вопрос, но как насчет того, чтобы использовать parse_ini_file() для файлов:

$phpini = parse_ini_file('/etc/php.ini'); 
echo $phpini['doc_root']; 

Или для загруженной php.ini:

echo get_cfg_var('doc_root'); 

Или текущей настройки (может быть изменен .htaccess и т. д.):

echo ini_get('doc_root'); 

Другой вариант иона будет:

echo $_SERVER['DOCUMENT_ROOT']; 
+0

Благодарим вас, как 'echo get_cfg_var ('doc_root');' и 'echo ini_get ('doc_root');' кажутся самыми легкими – Squidward

Смежные вопросы