-2

我想在 Zend Framework 中将数据库表列字段下载为 CSV。有这方面的 ZF 库吗?

这里还有其他关于 SO 的问题可以解决这个特定的主题,但没有一个能提供足够的细节。有人可以详细描述一下如何做吗?

4

1 回答 1

0

我假设您的表有一个标准的 DbTable 模型。使用info() 方法获取表信息

//the following is pseudocode and not meant to be copied directly, intended to guide
public function indexAction() {
    $model = new Application_Model_DbTable_MyTable();
    //This returns an array of table info
    $info = $model->info();
    //prepare the data so each line can be saved
    $data = $info['name'] . ',' . $info['primary'];
    //then write each line to the database, I usually use a function from
    // a utility class or a protected function
    //I would normally build an array of the data I want saved and then
    //iterate over the array saving as I go.
    $save = $this->_writeToFile($filename, $data);
}

//the following function is not pseudocode
protected function _writeToFile($filename, $content) {
        // Let's make sure the file exists and is writable first.
        if (is_writable($filename)) {

            // In our example we're opening $filename in append mode.
            // The file pointer is at the bottom of the file hence
            // that's where $somecontent will go when we fwrite() it.
            if (!$handle = fopen($filename, 'a')) {
                echo "Cannot open file ($filename)";
                exit;
            }
            // Write $somecontent to our opened file.
            if (fwrite($handle, $content) === FALSE) {
                echo "Cannot write to file ($filename)";
                exit;
            }
            echo "Success, wrote ($content) to file ($filename) <br />";
            //close file
            fclose($handle);
        } else {
            echo "The file $filename is not writable";
        }
    }

希望这能为您指明正确的方向。

于 2012-04-13T09:08:50.247 回答