프로그램 입니다. 저도 초보시절 고민 많이 했어요. 그래서 그때 만들어 사용하던 프로그램입니다. 좀 허술하지만 --- 이런식으로 넣고 있습니다.
<?
//file_up.php =======================================//
##########################################################################
## text화일을 붙여넣을수 있는 폼 구성화일 file_up.php과 db_convert.php 2개로 구성
##########################################################################
$Member_list = "member_list.txt"; //만들어질 text화일 -- 폴더에 쓰기 퍼미션 가능하도록 해야 한다.
if($Mode == Write) {
if(file_exists($Member_list)){
$fp=fopen($Member_list,"r");
$Member_list_Write=fread($fp,1000);
fclose($fp);
}
$contents = stripslashes($contents);
$Member_list_Write=$contents;
$fp=fopen($Member_list,"w");
fwrite($fp,$Member_list_Write);
fclose($fp);
}
?>
<html>
<head>
<title>전체 환경설정</title>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
</head>
<body>
<table width="100%" border="1" cellspacing="0" cellpadding="1" bordercolorlight="#7CA482" bordercolordark="#FFFFFF">
<form action="<?echo"$PHP_SELF?Mode=Write";?>" method=post>
<tr bgcolor="#E5EFE7" align="center" height=30>
<td><font size=2><b>회원리스트 </b></font></td>
</tr>
<tr>
<td align=center>
<textarea name="contents" rows="30">
<? // textarea에 영역지정 excel내용을 그냥 복사해서 넣는다.
if(file_exists($Member_list)){
include"$Member_list";
}
?>
</textarea>
<br>
<input type="submit">
</td>
</tr>
</form>
</table>
</body>
</html>
//db_convert.php =====================//
##########################################################################
## 저장한 화일을 DB에 변환하는 프로그램.
##########################################################################
// 글 입력 폼 //////////////////////////////////////////////////////////////////
include('dbconfig.inc.php');
if ($action=='convert') {
function conv_chk(){
if(document.conv.comp.value == "" ) {
document.conv.comp.focus();
alert("회사명을 입력하세요");
return false;
}
}
$name2=file("member_list.txt"); //저장한 화일읽기
$name_n= count($name2); //줄수계산
$xid=mysql_Result($result, 0, "id"); //기존 DB의 최종 ID 번호를 읽어온다
?>
<form name=conv action=<?=$PHP_SELF?>? method=post onSubmit='return conv_chk()'>
<input type=hidden name=action value=convert>
작업중: <?=$sql_ok?> <!--현재 작업을 확인하기위해--->
회사코드: <input type=text name=c_code size=10> <!--지금입력하는 DB가 어느 소속인지 지정코드 입력받기 --->
저장: <input type=radio name=sql_ok value=1> <!--화면으로 확인먼저 할건지 DB입력할건지 가끔은 에러를 내는 경우가 있어서 화면 확인 모드 만들었음-->
삭제: <input type=radio name=sql_ok value=2> <!--잘못 입력 했을경우 코드 입력받아 선택적으로 지울 수 있게하기위해 --->
<input type=submit value=등록하기 name=submit>
</form>
<a href="file_up.php" target=_mem>화일리스트 입력</a><br>
* EXCEL 화일을 선택한 후 복사해서 여기에 붙여넣으세요. 화면을 확인 후 저장 선택.
<?
if($sql_ok==2) { //잘못 입력된 화일이면 삭제하기
if($c_code) {
$sql0 = "delete from $member where comp ='$c_code' ";
mysql_query ($sql0);
} else {
print" <li>회사코드를 넣으세요";
}
}
// 입력 루틴 시작 입력된 만큼 반복하기위해...
for ($im=0;$im < $name_n;$im++){
$m = $im+$xid+1; // 최종번호 읽어온것과 입력되는 값에서 카운트 계산하기. 일련번호 필요없을경우 없어도 됨.
$tname=chop($name2[$im]); //선택한 줄 읽기
$convert = explode(" ",$tname); //EXCEL을 tab 으로 구분해서 지정 문자열 나누기
$n_convert=count($convert); // 필드가 몇개인자 카운트
$convert[0] =addslashes($convert[0] );
$convert[1] =addslashes($convert[1] );
$convert[2] =addslashes($convert[2] );
$convert[3] =addslashes($convert[3] );
$convert[4] =addslashes($convert[4] );
$convert[5] =addslashes($convert[5] );
$convert[7] =addslashes($convert[7] );
$convert[8] =addslashes($convert[8] );
$convert[9] =addslashes($convert[9] );
$convert[10] =addslashes($convert[10]);
print"
<table border=1 bordercolordark=#ffffff bordercolorlight=#8394a5 cellpadding=5 cellspacing=0 width=98%>
<tr><td bgcolor=FFFFFF align=right valign=top width=80>name, </td><td>$convert[1] </td></tr>
<tr><td bgcolor=FFFFFF align=right valign=top width=80>book, </td><td>$convert[2] </td></tr>
<tr><td bgcolor=FFFFFF align=right valign=top width=80>comp, </td><td>$convert[3] </td></tr>
<tr><td bgcolor=FFFFFF align=right valign=top width=80>part,title </td><td>$convert[4]/$convert[5] </td></tr>
<tr><td bgcolor=FFFFFF align=right valign=top width=80>Addr1, </td><td>$convert[6] </td></tr>
<tr><td bgcolor=FFFFFF align=right valign=top width=80>tel, </td><td>($convert[7]) </td></tr>
<tr><td bgcolor=FFFFFF align=right valign=top width=80>mobile1, </td><td>$convert[8] </td></tr>
<tr><td bgcolor=FFFFFF align=right valign=top width=80>email, </td><td>$convert[9] </td></tr>
<tr><td bgcolor=FFFFFF align=right valign=top width=80>zip, </td><td>$convert[10] </td></tr>
</table>
<br>";
if ($sql_ok==1){ // DB 입력하기 모드일경우 다음 실행
//DB의 순서와 배열의 순서를 정렬해서 밪춰줌 =====
$sql="INSERT INTO $member (id,name,book,comp,part,title,Addr1,tel,mobile1,email,zip)
VALUES($m,'$convert[1]',
'$convert[2]',
'$convert[3]',
'$convert[4]/$convert[5]',
'$convert[6]',
'$convert[7]',
'$convert[8]',
'$convert[9]',
'$convert[10]'
)";
mysql_query ($sql);
}
}
}
<?
//file_up.php =======================================//
##########################################################################
## text화일을 붙여넣을수 있는 폼 구성화일 file_up.php과 db_convert.php 2개로 구성
##########################################################################
$Member_list = "member_list.txt"; //만들어질 text화일 -- 폴더에 쓰기 퍼미션 가능하도록 해야 한다.
if($Mode == Write) {
if(file_exists($Member_list)){
$fp=fopen($Member_list,"r");
$Member_list_Write=fread($fp,1000);
fclose($fp);
}
$contents = stripslashes($contents);
$Member_list_Write=$contents;
$fp=fopen($Member_list,"w");
fwrite($fp,$Member_list_Write);
fclose($fp);
}
?>
<html>
<head>
<title>전체 환경설정</title>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
</head>
<body>
<table width="100%" border="1" cellspacing="0" cellpadding="1" bordercolorlight="#7CA482" bordercolordark="#FFFFFF">
<form action="<?echo"$PHP_SELF?Mode=Write";?>" method=post>
<tr bgcolor="#E5EFE7" align="center" height=30>
<td><font size=2><b>회원리스트 </b></font></td>
</tr>
<tr>
<td align=center>
<textarea name="contents" rows="30">
<? // textarea에 영역지정 excel내용을 그냥 복사해서 넣는다.
if(file_exists($Member_list)){
include"$Member_list";
}
?>
</textarea>
<br>
<input type="submit">
</td>
</tr>
</form>
</table>
</body>
</html>
//db_convert.php =====================//
##########################################################################
## 저장한 화일을 DB에 변환하는 프로그램.
##########################################################################
// 글 입력 폼 //////////////////////////////////////////////////////////////////
include('dbconfig.inc.php');
if ($action=='convert') {
function conv_chk(){
if(document.conv.comp.value == "" ) {
document.conv.comp.focus();
alert("회사명을 입력하세요");
return false;
}
}
$name2=file("member_list.txt"); //저장한 화일읽기
$name_n= count($name2); //줄수계산
$xid=mysql_Result($result, 0, "id"); //기존 DB의 최종 ID 번호를 읽어온다
?>
<form name=conv action=<?=$PHP_SELF?>? method=post onSubmit='return conv_chk()'>
<input type=hidden name=action value=convert>
작업중: <?=$sql_ok?> <!--현재 작업을 확인하기위해--->
회사코드: <input type=text name=c_code size=10> <!--지금입력하는 DB가 어느 소속인지 지정코드 입력받기 --->
저장: <input type=radio name=sql_ok value=1> <!--화면으로 확인먼저 할건지 DB입력할건지 가끔은 에러를 내는 경우가 있어서 화면 확인 모드 만들었음-->
삭제: <input type=radio name=sql_ok value=2> <!--잘못 입력 했을경우 코드 입력받아 선택적으로 지울 수 있게하기위해 --->
<input type=submit value=등록하기 name=submit>
</form>
<a href="file_up.php" target=_mem>화일리스트 입력</a><br>
* EXCEL 화일을 선택한 후 복사해서 여기에 붙여넣으세요. 화면을 확인 후 저장 선택.
<?
if($sql_ok==2) { //잘못 입력된 화일이면 삭제하기
if($c_code) {
$sql0 = "delete from $member where comp ='$c_code' ";
mysql_query ($sql0);
} else {
print" <li>회사코드를 넣으세요";
}
}
// 입력 루틴 시작 입력된 만큼 반복하기위해...
for ($im=0;$im < $name_n;$im++){
$m = $im+$xid+1; // 최종번호 읽어온것과 입력되는 값에서 카운트 계산하기. 일련번호 필요없을경우 없어도 됨.
$tname=chop($name2[$im]); //선택한 줄 읽기
$convert = explode(" ",$tname); //EXCEL을 tab 으로 구분해서 지정 문자열 나누기
$n_convert=count($convert); // 필드가 몇개인자 카운트
$convert[0] =addslashes($convert[0] );
$convert[1] =addslashes($convert[1] );
$convert[2] =addslashes($convert[2] );
$convert[3] =addslashes($convert[3] );
$convert[4] =addslashes($convert[4] );
$convert[5] =addslashes($convert[5] );
$convert[7] =addslashes($convert[7] );
$convert[8] =addslashes($convert[8] );
$convert[9] =addslashes($convert[9] );
$convert[10] =addslashes($convert[10]);
print"
<table border=1 bordercolordark=#ffffff bordercolorlight=#8394a5 cellpadding=5 cellspacing=0 width=98%>
<tr><td bgcolor=FFFFFF align=right valign=top width=80>name, </td><td>$convert[1] </td></tr>
<tr><td bgcolor=FFFFFF align=right valign=top width=80>book, </td><td>$convert[2] </td></tr>
<tr><td bgcolor=FFFFFF align=right valign=top width=80>comp, </td><td>$convert[3] </td></tr>
<tr><td bgcolor=FFFFFF align=right valign=top width=80>part,title </td><td>$convert[4]/$convert[5] </td></tr>
<tr><td bgcolor=FFFFFF align=right valign=top width=80>Addr1, </td><td>$convert[6] </td></tr>
<tr><td bgcolor=FFFFFF align=right valign=top width=80>tel, </td><td>($convert[7]) </td></tr>
<tr><td bgcolor=FFFFFF align=right valign=top width=80>mobile1, </td><td>$convert[8] </td></tr>
<tr><td bgcolor=FFFFFF align=right valign=top width=80>email, </td><td>$convert[9] </td></tr>
<tr><td bgcolor=FFFFFF align=right valign=top width=80>zip, </td><td>$convert[10] </td></tr>
</table>
<br>";
if ($sql_ok==1){ // DB 입력하기 모드일경우 다음 실행
//DB의 순서와 배열의 순서를 정렬해서 밪춰줌 =====
$sql="INSERT INTO $member (id,name,book,comp,part,title,Addr1,tel,mobile1,email,zip)
VALUES($m,'$convert[1]',
'$convert[2]',
'$convert[3]',
'$convert[4]/$convert[5]',
'$convert[6]',
'$convert[7]',
'$convert[8]',
'$convert[9]',
'$convert[10]'
)";
mysql_query ($sql);
}
}
}
[출처] 엑셀 파일을 업로드 해서 MYSQL에 밀어 넣는 소스|작성자 나무실