Не забывайте, что вы всегда можете сделать это вручную, не используя функцию csv, не выполняя уже никакой работы. Мне пришлось сделать это недавно, чтобы я мог взять те же данные и вывести CSV в виде разделителей табуляции, разделителей запятыми или чего-то, что браузер мог отображать.
Все, что вам нужно сделать, это использовать базовые массивы и имплозировать (вот базовый пример, вам нужно добавить несколько переменных для поддержки правильного вывода таблицы HTMl, таких как заголовок и хвост столбца, заголовок строки и хвост и т. Д. ... но вы получить представление:
switch ( $_GET['mode'] )
{
case "csv":
$wrapper = "'";
$delimiter = ",";
$nextrow = "\n";
break;
case "txt":
$wrapper = "";
$delimiter = "\t";
$nextrow = "\n";
break;
case "html":
$wrapper = "'";
$delimiter = ",";
break;
}
$output = array();
$sql = "SELECT * FROM table";
$result = mysql_query($sql);
while ( $row = mysql_fetch_assoc($result) )
{
$line = array();
foreach ( $row as $column => $value )
{
$line[] = $wrapper . $value . $wrapper;
}
$output[] = implode("", $line) . $nextrow;
}
print implode("",$output);