091
[PHP] CSV 파일을 열어 브라우저에 출력하기 본문
728x90
01. CSV 파일을 열어 브라우저에 출력하기
<?php
$filename = "samplefile.csv";
if( file_exists($filename)) {
echo "<table border='1' cellpadding='5'>";
if(($handle = fopen($filename, "r")) !== false){
while(($data = fgetcsv($handle)) !== false) {
echo "<tr>";
foreach($data as $cell) {
echo "<td>" . htmlspecialchars($cell) . "</td>";
}
echo "</tr>";
}
fclose($handle);
} else echo "Error message : Unable to open the file.";
} else echo "Error message : The file does not exist.";
?>
- file_exist( 파일 경로 또는 파일 이름 ) : 주어진 경로에 파일이 존재하는지 확인하는 함수로, 존재할 때 true, 존재하지 않을 때 false를 반환합니다.
- fopen( 파일명, 모드 ) : 파일을 열고 파일 포인터를 반환하는 함수로, 열면 파일 포인터 리소스를 반환하고, 실패하면 false를 반환합니다. 파일 포인터 리소스는 파일을 열고 내부적으로 어디까지 읽었는 기억하는 핸들(포인터)입니다.
모드 | 의미 : 설명 |
r | 읽기 : 파일이 존재해야하고 처음부터 읽음 |
r+ | 읽기+쓰기 : 파일이 존재해야하고 처음부터 읽고 씀 |
w | 쓰기 : 파일이 없으면 새로 만들고 있으면 지우고 처음부터 씀 |
w+ | 읽기+쓰기 : 새로 만들거나 기존 내용 지움 |
a | 추가 쓰기 : 파일 끝에 추가함. 없으면 새로 만듦 |
a+ | 읽기+추가 쓰기 : 끝에 추가하고 읽기도 가능 |
x | 새로 만들기 전용 쓰기 : 이미 있으면 에러 발생 |
x+ | 새로 만들기 전용 읽기 + 쓰기 : 파일을 새로 생성하고, 읽기/쓰기 가능 |
- fgetcsv(resource $stream) : csv 파일에서 한 줄을 읽어서 배열(array)로 반환하는 함수, 콤마를 기준으로 잘라서 배열로 반환합니다. false를 반환하면 더 이상 읽을 줄이 없다는 의미입니다.
- htmlspecialchars() : 사용자가 입력한 내용을 HTML에 안전하게 출력할 때 쓰는 함수로, < 나 " 같은 HTML 태그처럼 보이는 문자가 있으면, 그걸 문자로 그대로 출력하도록 변환합니다. XSS 공격를 방지하기 위함인데, 웬페이지에 삽인된 스크립트 코드를 사용해 다른 사용자에게 alert와 같은 방법으로 실행하는 공격입니다.
728x90
'Programming Language > PHP' 카테고리의 다른 글
[PHP] CSV 파일을 브라우저에 올리고 새로운 파일 만들기 (0) | 2025.05.08 |
---|---|
[PHP] CSV 파일을 브라우저에 올리고 삭제하기 (0) | 2025.05.07 |
[PHP] DB와 연결해서 브라우저에 원하는 데이터 값 출력하기 - 심화 (6) | 2025.03.22 |
[PHP] DB와 연결해서 브라우저에 원하는 데이터 값 출력하기 - 기본 (3) | 2025.03.08 |
[PHP] 기본 문법(조건문, 반복문, 함수) (3) | 2025.03.08 |