我想在Zend Framework中将数据库表列字段下载为CSV。这有ZF库吗?
此处还有其他问题可以解决这一具体问题,但没有一个问题能为我提供足够的细节。有人可以详细描述一下如何做到这一点吗?
答案 0 :(得分:0)
我假设你的桌子有一个标准的DbTable模型。使用info() method
获取表格信息//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";
}
}
希望这能指出你正确的方向。