테스트 사이트 - 개발 중인 베타 버전입니다

폴더안 txt 문서를 php explode 하여 mysql 에 넣는 과정이 안됩니다ㅠㅠ 채택완료

인메모리 9년 전 조회 5,657

txt 파일을 구분자 2가지로 변수에 넣는 php 설계 중입니다.

 

 </p><p><?php</p><p>$handle = fopen("2016-03-23(173632).txt", "r");</p><p>if ($handle) {
     while (($buffer = fgets($handle, 4096)) !== false) {</p><p>$tmp_array=explode( "_" ,$buffer);</p><p>
 for($i=0;$i <= sizeof($tmp_array)-1;$i++) {</p><p>  $item_array[$i] = explode( ":" ,$tmp_array[$i]);</p><p>}</p><p>echo $item_array[0][0], "
";
 echo $item_array[1][0], "
";
 echo $item_array[1][1], "

";</p><p>    }
     if (!feof($handle)) {
         echo "Error: unexpected fgets() fail\n";
     }
    
 }fclose($handle);</p><p>?></p><p>

 

질문 입니다.

 

1. 폴더 안에 있는 txt 문서를 제목 지정 없이 땡겨 오는게 안되네요ㅠㅠ

위에 소스는 제가 강제로 파일명.txt로 집어 넣었습니다. 같은 폴더 안에 파일이 한개씩 업로드 되서 처리 하거든요.. 그 이후에 rename으로 이동 시키는 소스는 따로 포함 안했습니다;; 

 

2. txt 파일의 내용은..

a_b:c

입니다. "a_"로 시작하는b문자열을 변수로 저장을 하구요.. c와 b는 구분자가 ":" 입니다. c는 b문자열에 대한 값입니다.

3. 내용은 이렇습니다.

"a_"로 시작하는 변수가 몇개일지 몰라서.. "a_"로 시작하는 모든 변수를 저장 하고자 합니다. "g_"도 있습니다만, "g_"로 시작하는 문자열도 "g_h"를 변수로 잡고 "i"가 값이 되겠네요.. "a_"가 해결이 되면 응용을 할 수 있을 듯 합니다..

정확하게 이야기 하자면.. "a_b"가 변수가 되어야 합니다. 그리고 그에 대한 값이 "c" 입니다.

4. 아울러.. 이렇게 저장된 변수들을 mysql로 집어 넣을려고 합니다.

 

5. txt 문서 내용 입니다.

 

title_name:kim

title_age:23

seq_num:1

seq_min:3

seq_max:10

print_hello:hi

print_name:kim hong ho 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
9년 전

explode는 상황이 서로 맞지 않을때 낭패 보는 경우가 많으니

explode 대신 SubString_Index() 를 사용하는게 좋습니다. 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

수성펜
7년 전

</p>

<p> </p>

<p>function substring_index($subject, $delim, $count){ if($count < 0){ return implode($delim, array_slice(explode($delim, $subject), $count)); }else{ return implode($delim, array_slice(explode($delim, $subject), 0, $count)); } }</p>

<p> </p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인