php
PHP - fgetcsv 함수
array fgetcsv ( resource $handle [, int $length [, string $delimiter [, string $enclosure [, string $escape ]]]] )
(PHP 4, PHP 5)
CSV 필드에 대한 파일 포인터와 구문 라인을 가져 오며, CSV 파일 중 빈 줄은 하나의 필드를 NULL로 구성된 배열로 반환되어 에러로 취급하지는 않습니다.
csv파일인 전 세계 ip대역을 열어 보면 6개 필드로 이루어져 있음을 알 수 있습니다.
다음 예제는 csv파일로 구성된 전 세계 ip을 읽어 오게 합니다.
브라우저로 확인해 보면 다음 그림처럼 <br>태그로 구분되어 출력되게 됩니다.
csv 파일을 어떤 형태로 읽어 오는지를 확인하였으니, Mysql에 입력하는 코드를 작성해 보겠습니다.
(PHP 4, PHP 5)
CSV 필드에 대한 파일 포인터와 구문 라인을 가져 오며, CSV 파일 중 빈 줄은 하나의 필드를 NULL로 구성된 배열로 반환되어 에러로 취급하지는 않습니다.
csv파일인 전 세계 ip대역을 열어 보면 6개 필드로 이루어져 있음을 알 수 있습니다.
다음 예제는 csv파일로 구성된 전 세계 ip을 읽어 오게 합니다.
<?php
$row = 1;
$handle = fopen("GeoIPCountryWhois.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
?>
브라우저로 확인해 보면 다음 그림처럼 <br>태그로 구분되어 출력되게 됩니다.
csv 파일을 어떤 형태로 읽어 오는지를 확인하였으니, Mysql에 입력하는 코드를 작성해 보겠습니다.
<?php
$row = 1;
$handle = fopen("GeoIPCountryWhois.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== false) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
$sql = false;
$sql = "INSERT INTO ".$table_name." VALUES (";
for ($c=0; $c < $num; $c++) {
$sql .= "'" . $data[$c] . "'";
if($c+1 !== $num){
$sql .= ", ";
}
}
$sql .= ");";
echo "$sql<br />";
}
fclose($handle);
?>
0 댓글