|
|
|
| Всем привет=)
У меня снова проблема, нужно таблицу из CSV файла перегнать в ХТМЛ.
Использую такую функцию
//Перевод таблицы из CSV в HTML
function create_table($filename,$separator)
{
// Открываем переданный файл
if (!($fp = fopen($filename,"rb")))
{
echo "<p>Невозможно открыть файл.</p>";
exit();
}
// Читаем содержимое файла в промежуточный буфер - $buffer
$buffer = fread($fp,filesize($filename));
// Закрываем файл
fclose($fp);
// Заменяем прямые кавычки обратными
$buffer = str_replace("'", "`",$buffer);
// Разбиваем файл по строкам, каждую строку файла помещаем в отдельный
// элемент промежуточного массива $strtmp
$tok = strtok($buffer,"\n");
$strtmp[] = $tok;
while ($tok)
{
$tok = strtok("\n");
$strtmp[] = $tok;
}
// Начинаем формирование таблицы
$table = "<table class=nodetable border=1 cellpadding=0 cellspacing=0 width=100% bordercolordark=white bordercolorlight=gray>";
// Разбиваем строку по отдельным словам, используя разделитель
foreach($strtmp as $value)
{
// Если строка пустая выходим из цикла
if(trim($value)=="")break;
// Начинаем формирование строки таблицы
$table .= "<tr>";
$strtmp = strtok($value,$separator);
$table .= "<td>$strtmp</td>";
while($strtmp = strtok($separator))
{
// Помещаем значение в ячейку
$table .= "<td>$strtmp</td>";
}
// Завершаем формирование строки таблицы
$table .= "</tr>";
}
// Заканчиваем формирование таблицы
$table .= "</table>";
return $table;
}
|
но она не работает - пустые ячейки неправильно обрабатываются... | |
|
|
|
|
|
|
|
для: Алексей Юрьевич
(10.09.2007 в 22:04)
| | АП=) | |
|
|
|
|
|
|
|
для: Алексей Юрьевич
(11.09.2007 в 19:47)
| | как неправильно? | |
|
|
|
|
|
|
|
для: elenaki
(11.09.2007 в 20:34)
| | если есть пустые ячейки, происходит сдвиг столбцов на место пустых ячеек...
Надеюсь, понятно объяснил=) | |
|
|
|
|
|
|
|
для: Алексей Юрьевич
(10.09.2007 в 22:04)
| | не проще ли применить стандартную функцию fgetcsv()? | |
|
|
|
|
|
|
|
для: Trianon
(11.09.2007 в 21:28)
| | эм... не знал, что такая существует=)
спасибо=) | |
|
|
|