2

我想将一些数据(来自自定义控制器插件)写入我网站公共目录的“消息”子目录下的文件中。

自定义控制器插件非常简单:

<?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);
    }

}

?>

我有两个小问题/问题:

  1. 如何避免路径的硬编码?是不是有一个 ZF2 配置变量保存公共目录的真实路径(/var/www/public)。
  2. ZF2中是否有写文件的类,或者使用file_put_contents和类似的文件函数就可以了?

非常感谢!

麦克风

4

2 回答 2

2

在 ZF2 中,所有路径都相对于应用程序根目录,因此您应该能够使用file_put_contents('public/messages/' . $filename, $data). 并且file_put_contents()很好用。

于 2013-10-30T22:57:50.193 回答
0

尝试...

APPLICATION_PATH.'/../public/messages/'.$filename

编辑:刚刚意识到这是 zf2 而不是 zf1 ......

一切都与 ZF2 中的应用程序路径相关

于 2013-10-30T22:53:31.400 回答