php - ZF2公共(public)目录的真实路径

标签 php plugins file-io controller zend-framework2

我想将一些数据(来自自定义 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);
    }

}

?>

我有两个小问题/疑问:

  1. 如何避免路径的硬编码?是否没有一个 ZF2 配置变量来保存公共(public)目录的真实路径(/var/www/public)。
  2. 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/

相关文章:

PHP fatal error : Class 'PHPUnit_TextUI_ResultPrinter' not found in

php - 将 border-right 应用于除最后一个元素之外的所有元素

rest - Grails:如何正确使用/安装其余插件

java - 如何使用java获取.jar文件中的文件?

php - CSS 和图片未在 Codeigniter 中加载

php - 想要将上传的 csv 文件插入数据库。它说 'no database selected' 我错过了什么?

c++ - 使用 clang 和插件编译

plugins - 我应该使用哪个 emma-maven-plugin?

.net - System.IO.FileSystemWatcher 的底层是如何工作的?

python - numpy.savetxt 可以用在 N>2 的 N 维 ndarray 上吗?