【发布时间】:2011-05-09 20:39:09
【问题描述】:
如何确定这条路径:
new Zend_Log_Writer_Stream(APPLICATION_PATH . '\logs\app.log')
在 linux 和 windows 上都可以使用吗?
【问题讨论】:
如何确定这条路径:
new Zend_Log_Writer_Stream(APPLICATION_PATH . '\logs\app.log')
在 linux 和 windows 上都可以使用吗?
【问题讨论】:
在 Linux 中,路径分隔符是 /。在 Windows 中,它是 \ 或 /。所以只要使用正斜杠就可以了。
APPLICATION_PATH . '/logs/app.log'
【讨论】:
\n 被转换为换行符。如果要使用反斜杠,则必须正确转义它们。不过,这是一个基本的 php 问题,因此与此没有直接关系。
\n 是这样解释的。如果您使用单引号(此处示例中的 OP 所做的),则 \n 不会以任何特殊方式解释,并且文字可以按原样正常工作。
您也可以使用DIRECTORY_SEPARATOR 常量代替\ 或/。
通常你会想要重新定义它以具有更短的名称,例如
define('DS', DIRECTORY_SEPARATOR);
$filename = APP . DS . 'logs' . DS . 'file.txt';
【讨论】:
如果您想交流您网站的两个或多个应用程序,这个技巧会为您提供很大的帮助
$ Document_root = realpath ( \ filter_input ( INPUT_SERVER , ' DOCUMENT_ROOT '));
这是将您的路线转换回真实路径,然后只需使用 DIRECTORY_SEPARATOR 在目录之间导航,而无需担心您的机器或 Web 服务器上安装的操作系统
【讨论】:
只需 realpath() 似乎就足够了
【讨论】: