使用zend框架将文件写入/ public

时间:2011-07-28 14:56:40

标签: php zend-framework

我正在尝试为我的网站创建一个动态站点地图,该站点地图在Zend上运行。

我希望我的一个控制器能够写入/ public目录,但我无法弄清楚如何将文件写入正确的位置。

我的相关目录结构如下:

。应用/

...模块/

....... my_module /

..........控制器/

............. SitemapController.php

.library /

。公共/

这是Zend指向public /目录的一种简单方法,而不是每次都写出像“file://../../../public/”这样丑陋的东西吗?

2 个答案:

答案 0 :(得分:4)

Zend框架引导程序定义一个名为 APPLICATION_PATH 的常量,遵循该指南,您可以初始化另一个指向公共路径的常量:

define('PUBLIC_PATH', APPLICATION_PATH . '/../public/');

随后随处可用。确保Web服务器对您要存储文件的文件夹具有写入权限。

答案 1 :(得分:1)

您可以使用$_SERVER['DOCUMENT_ROOT']但不应该 - 为了安全起见,运行Web服务器的进程不应该写入公共目录。有很多方法可以解决这个问题。您可以将文件写入文档根目录之外的其他独立目录,然后对其进行符号链接。或者只是在您的应用配置中创建一个路由,以便每次都能动态生成文件。