我想将一些数据(来自自定义控制器插件)写入我网站公共目录的"messages"子目录下的文件中。
自定义控制器插件非常简单:
<?php
namespace Main'Service;
class MessageWriter
{
public $data = array();
public function __set($name, $value)
{
$this->data[$name] = $value;
}
public function write_message()
{
$this->time = time();
$data = serialize($this->data);
$filename = time() . '_' . rand(1000, 9999);
@file_put_contents('/var/www/public/messages/' . $filename, $data);
}
}
?>
我有两个小问题/问题:
- 如何避免路径的硬编码?难道没有一个 ZF2 配置变量来保存公共目录的真实路径 (/var/www/public)。
- 是否有任何类可以在 ZF2 中写入文件,或者可以使用file_put_contents和类似的文件函数?
谢谢!
话筒
在 ZF2 中,所有路径都是相对于应用程序根目录的,因此您应该能够使用 file_put_contents('public/messages/' . $filename, $data)
。而且file_put_contents()
很好用。
试试...
APPLICATION_PATH.'/../public/messages/'.$filename
编辑:刚刚意识到这是 zf2 而不是 zf1...
一切都与 ZF2 中的应用程序路径有关