Zend Framework でデータベース テーブルの列フィールドを CSV としてダウンロードしたいと考えています。このための ZF ライブラリはありますか?
この特定の主題に対処するSOに関する他の質問がありますが、どれも十分な詳細を提供しません。誰かがそれを行う方法を詳しく説明してもらえますか?
Zend Framework でデータベース テーブルの列フィールドを CSV としてダウンロードしたいと考えています。このための ZF ライブラリはありますか?
この特定の主題に対処する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";
}
}
これがあなたを正しい方向に向けることを願っています。