2010-11-14 32 views
27

路径工作都我怎样才能确保此路径:请在Linux和Windows

new Zend_Log_Writer_Stream(APPLICATION_PATH . '\logs\app.log') 

都在Linux和Windows上运行?

回答

54

在Linux中,路径分隔符是/。在Windows中,它是\/。所以只需使用正斜杠就可以了。

APPLICATION_PATH . '/logs/app.log' 
+1

但是当我然后打印在Windows系统我爬路径:K:\ project345 \应用/日志/ app.log – sanders 2010-11-14 16:10:21

+11

@sanders,这不是一个问题。 Windows了解该路径。在Windows中,您可以在单个路径中混合正向和反向斜线。 – 2010-11-14 16:16:31

+0

我见过这个前面说过,但它似乎与这里的信息冲突:https://stackoverflow.com/questions/2410354/failed-to-open-stream-invalid-argument – Matthew 2014-09-25 14:33:29

29

您还可以使用DIRECTORY_SEPARATOR常量而不是\/。 通常你会想,如果你想传达两个或您网站的更多应用程序来重新定义它具有较短的名称,像

define('DS', DIRECTORY_SEPARATOR); 
$filename = APP . DS . 'logs' . DS . 'file.txt'; 
0

,这一招将竭诚为您多

$ Document_root = realpath (\ filter_input (INPUT_SERVER , ' DOCUMENT_ROOT ')); 

这是将路线转换回真实路径,然后只需在DIRECTORY_SEPARATOR目录之间导航,而不必担心安装在您的机器或Web服务器上的操作系统