您必须有一个列到标签的列表,这将使脚本特定于数据库:
$labels = array(
'col_name'=>'Column 1',
'id'=>'User ID'
); // and so on
$result = mysql_query("show columns from mash");
for ($i = 0; $i < mysql_num_rows($result); $i++) {
$colArray[$i] = mysql_fetch_assoc($result);
$fieldArray[$i] = $labels[$colArray[$i]['Field']];
}
fputcsv($fp,$fieldArray);
或者,您必须使用这种元数据创建一个数据库。它可以有三个字段:source_table、source_column、column_label。这增加了另一个查询,但允许将代码设为通用。
最后一种方法是使用一些带有分隔符的简单命名约定,例如下划线 (_),然后删除下划线并应用标题大小写。field_1 变为“字段 1”,“user_id”变为“用户 ID”,依此类推。
$result = mysql_query("show columns from mash");
for ($i = 0; $i < mysql_num_rows($result); $i++) {
$colArray[$i] = mysql_fetch_assoc($result);
$fieldArray[$i] = _title_case_function_(str_replace('_', ' ', $colArray[$i]['Field']]));
}
fputcsv($fp,$fieldArray);