read_csv.csv
,강사,과목 월요일,김철수,수학 화요일,이만수,과학 수요일,박춤,댄스 목요일,최고음,음악 금요일,구민철,사회 토요일,리차드,"영어1 영어2" ,, ,, 일요일,-,-
136.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>CSV 파일을 읽음</title> <link href="style.css" rel="stylesheet"> </head> <body> <div> <?php // h() 함수를 불러옴 require_once 'h.php'; // CSV 파일은 Windows의 엑셀에서 작성한 SJIS 인코드 $csvFile = './read_csv.csv'; if( !file_exists($csvFile) ) { die('파일이 존재하지 않음'); } // 문자 깨짐 방지 // CSV 파일의 내용을 모두 넣음 $tempCSV = file_get_contents($csvFile); // 문자 인코딩을 UTF-8로 변환함 $tempCSV = mb_convert_encoding($tempCSV, 'UTF-8', 'EUC-KR'); // 임시 파일에 저장함 $fp = tmpfile(); fwrite($fp, $tempCSV); // 파일 포인터를 처음으로 되돌림 rewind($fp); // 로케일을 설정함 setlocale(LC_ALL, 'ko_KR.UTF-8'); // 한 줄씩 읽고 표를 생성함 $html = '<table>'; while( $arr = fgetcsv($fp) ) { if( !array_diff($arr, array('')) ) { continue; } list($day, $teacher, $subject) = $arr; // nl2br() 함수에서 요소 안의 줄 바꿈을 <br>로 변환함 $html .= '<tr>' . '<td>' . nl2br(h($day), false) . '</td>' . '<td>' . nl2br(h($teacher), false) . '</td>' . '<td>' . nl2br(h($subject), false) . '</td>' . '</tr>'; } $html .= '</table>'; // 파일의 잠금을 해제함 fflush($fp); flock($fp, LOCK_UN); // 파일을 닫음 fclose($fp); // 브라우저에 출력함 echo $html; ?> </div> </body> </html> |
- CSV 파일을 출력하고 싶을 때
- fputcsv() 함수를 사용하여 배열 데이터를 CSV 파일에 기록함
댓글 없음:
댓글 쓰기