Как добавить строку заголовка в CSV, используя * этот * код PHP? - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь использовать PHP для создания файла CSV, но мне нужно, чтобы он установил строку заголовка и затем добавил содержимое под заголовком CSV.

Сейчас он начинается вместо первой строкивторой строки без заголовка выше.

Я хотел бы свести к минимуму модификацию этого кода для этого.

$file_open = fopen("report.csv", "a");
    $no_rows = count(file("report.csv"));
    if($no_rows > 1)
    {
        $no_rows = ($no_rows - 1) + 1;
    }
    $form_data = array(
        'sr_no' =>  $no_rows,
        'name'  =>  $name,
        'devicemode'    =>  $devicemode,
        'rating'  =>    $rating,
        'comment'  =>   $comment,
        //'timing'    =>  $diff
    );
    fputcsv($file_open, $form_data);
    $name = '';
    $devicemode = '';
    $enhanced = '';
    $comment = ''; }

Ответы [ 2 ]

0 голосов
/ 01 июня 2018

В коде есть некоторые странные вещи (почему $no_rows = ($no_rows - 1) + 1;?), Но вы можете легко написать строку заголовка, используя ключи $form_data с array_keys().

$form_data = array(
    'sr_no' =>  $no_rows,
    'name'  =>  $name,
    'devicemode'    =>  $devicemode,
    'rating'  =>    $rating,
    'comment'  =>   $comment,
    //'timing'    =>  $diff
);
if($no_rows == 0)
{
    fputcsv($file_open, array_keys($form_data));
}
0 голосов
/ 01 июня 2018

Я забыл, что fputcsv занимает по одной строке за раз.Этот код был обновлен.

Как бы я это сделал, это примерно так:

fputcsv($file_open, array('sr_no', 'name', 'devicemode', 'rating', 'comment'));
fputcsv($file_open, array('sr_no'=>$no_rows, 'name'=>$name, 'devicemode'=>$devicemode, 'rating'=>$rating, 'comment'=>$comment)) ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...