txt에 있는 파일을 database 에 순차적으로 넣고자합니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

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] ........ " );
}

이렇게 하면 되지 않을가 하네요
자르기

$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) . "')");
}
© SIRSOFT
현재 페이지 제일 처음으로