下記のsales.csvを読み込み、実行結果をブラウザに表示する。
ブラウザに表示させた実行結果をcsvファイルとして出力(ダウンロード)したいです。
ダウンロードはできるのですが、エディターに記述した下記のコードが全てcsvに書き込まれ
しかも文字化けしているようです。。。
原因が分からないので、どなたかお助けください〜。
php
1<?php 2 3$dataName = "sales.csv"; 4$rows= file($dataName, FILE_IGNORE_NEW_LINES); 5//var_dump($lines); 6 7$memberNum = 0; 8$memberNum = count($rows) - 1; 9$saleSum = 0; 10$avr = 0; 11//var_dump($memberNum); 12 13$record = array(); 14 15foreach ($rows as $row) { 16 $record = explode(",", $row); 17 $saleSum += $record[1]; 18} 19 20$avr = $saleSum / $memberNum; 21 22if (!empty($_POST['download'])) { 23 $fileName = "report.csv"; 24 $csv = ""; 25 $csv = "こんにちは"; 26 $fp = fopen($fileName, 'ab'); 27 flock($fp, LOCK_EX); 28 fputcsv($fp, $csv); 29 fclose($fp); 30 echo("社員数,売上合計,売上平均\n$memberNum,$saleSum,$avr"); 31 header('Content-Type: application/octet-stream'); 32 header('Content-Disposition: attachment; filename=' . $fileName); 33 echo mb_convert_encoding($csv,"SJIS","EUC-JP"); 34 exit; 35} 36 37// $filename = "report.csv"; 38// file_put_contents($filename, "社員数,売上合計,売上平均\n$memberNum,$saleSum,$avr"); 39 40 41?> 42 43<!DOCTYPE html> 44<html> 45<head> 46 <meta charset="utf-8"> 47 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 48 <title>CSVファイルの読み込み・出力</title> 49 <link rel="stylesheet" href=""> 50</head> 51<body> 52<table> 53 <tr> 54 <th>社員数:</th> 55 <td><?php echo $memberNum."<br>"; ?></td> 56 </tr> 57 58 <tr> 59 <th>売上合計:</th> 60 <td><?php echo $saleSum."<br>"; ?></td> 61 </tr> 62 63 <tr> 64 <th>売上平均:</th> 65 <td><?php echo $avr."<br>"; ?></td> 66 </tr> 67</table> 68<form method="post"> 69<input type="submit" name="download" value="CSVでダウンロードする"> 70</form> 71</body> 72</html>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。