我正在尝试为我的网站创建一个动态站点地图,该站点地图在Zend上运行。
我希望我的一个控制器能够写入/ public目录,但我无法弄清楚如何将文件写入正确的位置。
我的相关目录结构如下:
。应用/
...模块/
....... my_module /
..........控制器/
............. SitemapController.php
.library /
。公共/
这是Zend指向public /目录的一种简单方法,而不是每次都写出像“file://../../../public/”这样丑陋的东西吗?
答案 0 :(得分:4)
Zend框架引导程序定义一个名为 APPLICATION_PATH 的常量,遵循该指南,您可以初始化另一个指向公共路径的常量:
define('PUBLIC_PATH', APPLICATION_PATH . '/../public/');
随后随处可用。确保Web服务器对您要存储文件的文件夹具有写入权限。
答案 1 :(得分:1)
您可以使用$_SERVER['DOCUMENT_ROOT']
但不应该 - 为了安全起见,运行Web服务器的进程不应该写入公共目录。有很多方法可以解决这个问题。您可以将文件写入文档根目录之外的其他独立目录,然后对其进行符号链接。或者只是在您的应用配置中创建一个路由,以便每次都能动态生成文件。