codeigniter 4 프레임워크 기반으로 작성된 코드입니다.
csv파일을 불러온 뒤, 해당 파일의 내용을 읽어와서 배열의 형태로 담아둔 후 테이블에 foreach로 뿌려주는 흐름입니다.
Controller
public function getCsv()
{
$total_arr = [];
$file = fopen('C:/xampp/htdocs/Local-AWS-scraping/writable/uploads/csv/test.csv', 'r');
while (($line = fgetcsv($file)) !== FALSE) {
$arr = [];
//$line is an array of the csv elements
foreach ($line as $word) {
$sep_arr = explode(',', $word);
if (count($sep_arr) >= 2) {
$arr = array_merge($arr, $sep_arr);
} else {
array_push($arr, $word);
}
}
array_push($total_arr, $arr);
}
fclose($file);
echo view('dashboard_table', ['line' => $total_arr]);
}
View
<?= $this->extend('layout/main') ?>
<?= $this->section('content') ?>
<div class="justify-center w-5/6 py-7">
<table class="table">
<tr>
<?php foreach($line[0] as $row) : ?>
<th><?= $row ?></th>
<?php endforeach; ?>
</tr>
<?php for($i = 1; $i < count($line); $i ++) : ?>
<tr>
<?php foreach($line[$i] as $row) : ?>
<td><?= $row ?></td>
<?php endforeach; ?>
</tr>
<?php endfor; ?>
</table>
</div>
<?= $this->endSection() ?>
0번 인덱스에는 column명이 들어있으므로, 따로 빼서 <th>태그로 강조하는 형식으로 작성했습니다.
그러면, 위의 사진처럼 왼쪽의 CSV파일이 오른쪽 사진처럼 웹상에서 table의 정리된 형태로 확인할 수 있습니다.
'IT 공부 > PHP' 카테고리의 다른 글
[ PHP ] Pagination (페이징) 구현 (0) | 2022.02.16 |
---|---|
[ PHP ] Project 디렉토리에 있는 파일을 Web에서 Download (0) | 2022.02.15 |
[ AWS ] EC2에서 Docker 기반, nginx-php환경 구축후 RDS 연결하기 (0) | 2022.01.29 |
2020-12-02 PHP 공부정리 (0) | 2020.12.02 |
2020-08-24 Jquery와 PHP를 이용한 스크롤 이벤트 -> 새로운 내용 로딩 (0) | 2020.08.24 |