txt에 있는 파일을 database 에 순차적으로 넣고자합니다. 정보
txt에 있는 파일을 database 에 순차적으로 넣고자합니다.
본문
txt에 있는 파일을 database 에 순차적으로 넣고자합니다.
가령
#4#wd5#575#문정희#F#과학1#220081#
#4#wd5#575#문정희#F#과학1#220081#
이런 형식으로 되어있다면 # 구분을 나눠
"4" 를 a0 에 "wd5" 를 a1 에 "575" 를 a2에 등으로
table 에 insert 하려고 합니다요.
그리고 끝으로 = 입력파일.php?목록파일.txt 로 읽어서 입력할 수 있게하려면?,,
너무 생각만 많네요. 열심히 php 공부중입니다^^
최적화 하는데요~ 힌트좀 부탁드립니다.
댓글 전체
$file = file(텍스트파일);
foreach( $file as $str )
{
$str2 = explode( "#", $str );
mysql_query( " insert into 디비 a = $str2[0], b = $str2[1] ........ " );
}
이렇게 하면 되지 않을가 하네요
foreach( $file as $str )
{
$str2 = explode( "#", $str );
mysql_query( " insert into 디비 a = $str2[0], b = $str2[1] ........ " );
}
이렇게 하면 되지 않을가 하네요
자르기
$tmp = explode("#", "#4#wd5#575#문정희#F#과학1#220081#");
print_r($tmp);
파일읽기
$txtfile = array();
$fp = fopen("./목록파일.txt", "r");
while(!feof($fp)) {
$txtfile[] = fgets($fp, 4096);
}
fclose($fp);
$tmp = explode("#", "#4#wd5#575#문정희#F#과학1#220081#");
print_r($tmp);
파일읽기
$txtfile = array();
$fp = fopen("./목록파일.txt", "r");
while(!feof($fp)) {
$txtfile[] = fgets($fp, 4096);
}
fclose($fp);
a.php?file=a.txt라고 할때
// 파일을 읽어들인 후 한줄씩 구분하기
foreach(preg_split('/[\r?\n]/', file_get_contents($_GET['file'])) as $value)
{
// #로 구분해서 배열을 만든 후 인젝션방지용 이스케이프
$array = array_map('mysql_real_escape_string', explode('#', $value));
// 배열에서 처음과 마지막은 공백이니까 빼버리기
unset($array['0']);
array_pop($array);
// 필드순서대로 값을 넣어버리기
// 아래 쿼리문은 INSERT INTO table VALUES ('값1', '값2' ..... '값99', '값100') 형식으로 됨
mysql_query("INSERT INTO table VALUES ('" . implode("', '", $array) . "')");
}
// 파일을 읽어들인 후 한줄씩 구분하기
foreach(preg_split('/[\r?\n]/', file_get_contents($_GET['file'])) as $value)
{
// #로 구분해서 배열을 만든 후 인젝션방지용 이스케이프
$array = array_map('mysql_real_escape_string', explode('#', $value));
// 배열에서 처음과 마지막은 공백이니까 빼버리기
unset($array['0']);
array_pop($array);
// 필드순서대로 값을 넣어버리기
// 아래 쿼리문은 INSERT INTO table VALUES ('값1', '값2' ..... '값99', '값100') 형식으로 됨
mysql_query("INSERT INTO table VALUES ('" . implode("', '", $array) . "')");
}
^^
감사합니다54424