我想将一些数据(来自自定义 Controller 插件)写入网站公共(public)目录的“messages”子目录下的文件中。
自定义 Controller 插件非常简单:
<?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 配置变量来保存公共(public)目录的真实路径(/var/www/public)。
- ZF2中是否有用于写入文件的类,或者使用file_put_contents和类似的文件函数也可以?
非常感谢!
迈克
最佳答案
在 ZF2 中,所有路径都相对于应用程序根目录,因此您应该能够使用 file_put_contents('public/messages/' . $filename, $data)
。并且 file_put_contents()
很好用。
关于php - ZF2公共(public)目录的真实路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19695181/