在Zend Framwework中将数据库表列字段下载为CSV


Download database table column fields as CSV in Zend Framwework

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

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

我假设你的表有一个标准的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";
        }
    }

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