0

各ページへのアクセスとアクティビティをcsvログファイルに記録するという要件があります。ヘッダーが毎回ではなく初めて書き込まれるようにするにはどうすればよいですか。

fputcsv($fh1, array(date,id1,page,id2,request,ip));     
fputcsv($fh1, array($date,$mid,$page,$aid,$request,$ip));

最初の配列は、特定の日付ログ ファイルに対して 1 回だけ書き込む必要があります。提案してください。

4

2 に答える 2

0

CSVをダウンロードする際は、ヘッダー付きのレコードを並べるようにしていただければ幸いです。はいの場合は、以下の例をご覧ください。ここでは、Drupal で動作する小さな例を示しています。

<?php

function getUsersDetails(){
    $csv_output = '';
    $all_users_entry = db_query("SELECT * FROM users");
    while($users = db_fetch_object($all_users_entry)){//suppose these fname,lname etc are column name of your table.
        $fname = $users->fname;
        $lname = $users->lname;
        $date = $users->joining_date;
        $role = $users->role;
        $location = $users->location;
        $csv_output .= "\"".$fname."\"".","."\"".$lname ."\"".","."\"".$date."\"".","."\"".$role."\"".","."\"".$location."\""."\r";
    }
    return $csv_output;
}

function download_details(){
    $csv_output = '';
    $csv_output .= "First Name,Last name,Member Since,Role,Place\n";
    $csv_output .= getUsersDetails();
    header('Content-type: text/csv');
    header('Content-Disposition: attachment; filename="Usera_Details.csv"');
    print $csv_output;
    exit;
}
?>

これで、この関数 download_details() を任意の場所から呼び出すことができ、ダウンロードした CSV にユーザー テーブルの詳細が含まれます。

于 2013-01-18T06:34:36.220 に答える
0

これを見たら自爆しそう…

if (!file_exists('log.csv'))
{
    // Make the file & Write the header
}
// Write the log entry.
于 2013-01-18T06:36:20.323 に答える