Я использую Zend Framework и использую .htaccess
для некоторых настроек. I Сейчас я пишу сценарии командной строки для планирования (например, cron). Сценарии командной строки не смотрят файл .htaccess
, потому что они не обслуживаются Apache. Я хотел бы проанализировать .htaccess
с моим скриптом для получения некоторых настроек. Вот строки, которые меня особенно интересуют:
SetEnv APPLICATION_ENV development
php_value date.timezone America/New_York
Я заметил пакет PEAR File_HtAccess ,но, похоже, он касается только частей аутентификации файла .htaccess
.
РЕШЕНИЕ: (с благодарностью из-за Bamieater )
echo
операторов для вывод отладки, удален из рабочего кода.
$htaccess = file(realpath(dirname(__FILE__)) . '/.htaccess');
echo '';
foreach ($htaccess as $line) {
if (preg_match('/^\s*SetEnv\s+APPLICATION_ENV\s+(.*?)\s*$/', trim($line), $matches)) {
defined('APPLICATION_ENV') || define('APPLICATION_ENV', $matches[1]);
echo APPLICATION_ENV . PHP_EOL;
} elseif (preg_match('/^\s*php_(?:admin_)?value\s+date\.timezone\s+(.*?)\s*$/', $line, $matches)) {
date_default_timezone_set($matches[1]);
echo date_default_timezone_get() . PHP_EOL;
}
}
echo '
';
Прочитайте файл .htaccess построчно и используйте регулярное выражение для доступа к данным.
Например, что-то вроде этого:
$line = "php_value date.timezone America/New_York";
$pattern = "@^php_value date.timezone (.*)$@";
if(preg_match($pattern,$line,$matches))
{
print_r($matches);
}