MySQL テーブルがあり、そこから tsv および csv ファイルを作成します。ファイルに架空のヘッダーを追加しながら、tsv ファイルを作成したいと考えています。既に MySQL 列ヘッダーをファイルのヘッダーとして使用していますが、MySQL テーブルにはない架空のヘッダーを追加する必要があります。私の現在のコードはファイルを作成しますが、架空のヘッダーを追加する方法がわかりません。
出力します
name age address
Daniel 24 Carlifornia
Jane 22 New York
出力したい
name age address option1 option2
Daniel 24 Carlifornia anything anything
Jane 22 New York anything anything
これが私のコードです:
@chmod($export_tsv, 0777);
$fe = @fopen($export_tsv."/export.tsv", "w+");
if($fe){
$somecontent = "";
//$somecontent = "header('Content-type: text/html; charset=utf-8')";
$fields_count = 0;
// fields headers
$db->query($sql_view);
if($row = $db->fetchAssoc()){
foreach($row as $key => $val){
if($fields_count++ > 0) $somecontent .= "\t";
// mysql column headers here
$somecontent .= $key;
}
}
$somecontent .= "\r\n";
$db->query($sql_view);
while($row = $db->fetchAssoc()){
$fields_count = 0;
foreach($row as $key => $val){
if($fields_count++ > 0) $somecontent .= "\t";
//my own special code start
$val = str_replace("\n","", $val);
$val = str_replace("\r","", $val);
$val = str_replace("\t","", $val);
$val = stripslashes($val);
$val = str_replace("chr(13)","", $val);
//my own special code end
$somecontent .= $val;
}
$somecontent .= "\r\n";
}
utf8_encode($somecontent);
$somecontent = mb_convert_encoding($somecontent, 'HTML-ENTITIES', "UTF-8");
// write some content to the opened file.
if (fwrite($fe, utf8_encode($somecontent)) == FALSE)
echo 'file_writing_error'." (export.tsv)";
fclose($fe);
}