0

PHPを使用してCSVファイルを書き込んでダウンロードしようとしています。そのため、ファイルが作成されるたびに、ファイルサイズが最後の行に添付されています。同様に、ファイル サイズが 10kb の場合、ファイルの結果は次のようになります。

    閲覧日 商品名 閲覧アイテム ユーザー名 ユーザーメールアドレス
    16-04-2012 i3 一次数学 neha_new neha_new@mailinator.com
    16-04-2012 i3 Primary III neha_new neha_new@mailinator.com
    16-04-2012 i3 プライマリー i3 プライマリー neha_new neha_new@mailinator.com

ここにコードがあります

if($_POST['report_format']=='csv') {
  $csv_rows[] = array('Viewed Date','Product Name','Viewed Item','Username','User Email');
  $da = db_query($sql);
  while($data = db_fetch_object($da)) {
    $partid = db_query("select name from term_data where tid=".$data->ptid);
    $product_name = db_result($partid);

if($data->type=='term') {
  $catid = db_query("select name from term_data where tid=".$data->tid);
  $cat_name = db_result($catid);
  }  elseif($data->type=='node') {
    $term_node = node_load($data->tid);
$cat_name  = $term_node->title;
  }
  else {
$term_node = node_load($data->tid);
$cat_name  = $term_node->field_read_image_field[0]['filename'];
  }
  $u = user_load($data->uid);
  csv_rows[] = array(date('d-m-Y', $data->date), $product_name, $cat_name, $u->name, $u->mail);
}
foreach($csv_rows as $csvrow) {
  $csvdata .= implode(',',$csvrow)."\n";
}
$file_path = $base_url."/sites/default/files/";
$fp = fopen("sites/default/files/user_csv/account_report.csv", "w") or exit("Unable to open file!");
fwrite($fp, $csvdata,strlen($csvdata)-1);
fclose($fp);

$url = $base_url.'/sites/default/files/user_csv/report_csv.php';
header("Location: ".$url);

    }
4

0 に答える 0