김 양의 멋따라 개발따기
[240110] Excel 파일 SQL 업로드 (PHP코드) 본문
파일을 선택하여 DB에 insert 시키는 코드입니다.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form enctype="multipart/form-data" action="" method="post">
파일 선택<br/>
<input id="selectfile" type="file" name="upload"/><br/>
<input type="submit"/>
</form>
<?php
try {
$pdo = new PDO("mysql:host=HOST;dbname=DBNAME", "ID", "PW");
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;
require_once("./vendor/autoload.php");
if(isset($_FILES['upload'])){
move_uploaded_file($_FILES['upload']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/file/'.$_FILES['upload']['name']);
$filename = $_SERVER['DOCUMENT_ROOT'].'/file/'.$_FILES['upload']['name'];
$reader = ReaderEntityFactory::createReaderFromFile($filename);
$reader->open($filename);
foreach($reader->getSheetIterator() as $sheet){
foreach($sheet->getRowIterator() as $row){
$cells = $row->getCells();
$myquery = 'insert into test set date="';
$i=0;
foreach ($cells as $value) {
$valArray[$i++] = $value;
}
$myquery .= $valArray[0].'", name="'.$valArray[1].'", phone="'.$valArray[2].'", age='.$valArray[3];
$pdo->exec($myquery);
}
}
$reader->close();
}
?>
</body>
</html>
'TIL' 카테고리의 다른 글
카카오 알림톡 발송하기 - PHP 버전 (0) | 2024.02.28 |
---|---|
구글 스프레드 시트에서 SQL 데이터 불러오기(+트리거 연결) (1) | 2024.01.11 |
javascript pdf 파일로 내보내기 (0) | 2023.06.26 |
Nextjs에서 dynamic import 사용하기 (0) | 2023.06.01 |
git HEAD란? (0) | 2023.05.25 |