Son*_*nny 10 php .htaccess pear parsing zend-framework
我正在使用Zend Framework,我使用了.htaccess一些设置.我现在正在编写用于调度的命令行脚本(例如cron).命令行脚本不查看该.htaccess文件,因为它们不是由Apache提供的.我想解析.htaccess我的脚本来检索一些设置.以下是我特别感兴趣的专栏:
SetEnv APPLICATION_ENV development
php_value date.timezone America/New_York
Run Code Online (Sandbox Code Playgroud)
我注意到了PEAR File_HtAccess包,但它似乎只解决了.htaccess文件的身份验证部分.
解决方案:(由于Bamieater的信用)
echo 调试输出的语句,从工作代码中删除.
$htaccess = file(realpath(dirname(__FILE__)) . '/.htaccess');
echo '<pre>';
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 '</pre>';
Run Code Online (Sandbox Code Playgroud)
每行读取.htaccess文件并使用正则表达式访问数据.
例如这样的事情:
$line = "php_value date.timezone America/New_York";
$pattern = "@^php_value date.timezone (.*)$@";
if(preg_match($pattern,$line,$matches))
{
print_r($matches);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4360 次 |
| 最近记录: |