2010-07-09 5 views
0

나는 PHP를 통해 읽고 싶고 MySQL에 다양한 필드를 삽입하고자하는 큰 파일을 가지고있다.PHP를 통해 대량 데이터 피드를 읽는 방법?

피드의 각 파일은 일반 텍스트 형식이며 열과 행으로 구분됩니다. 각 레코드에는 동일한 필드 집합이 있습니다. 다음은 각 필드에 기록하기위한 구분자이다 :

필드 세퍼레이터 (FS) SOH (ASCII 문자 1) 기록 분리기 (RS) STX (ASCII 문자 2) + "\ n"

경우

#export_dateapplication_idlanguage_codetitledescriptionrelease_notescompany_urlsupport_urlscreenshot_url_1screenshot_url_2screenshot_url_3screenshot_url_4screenshot_width_height_1screenshot_width_height_2screenshot_width_height_3screenshot_width_height_4 
#primaryKey:application_idlanguage_code 
#dbTypes:BIGINTINTEGERVARCHAR(20)VARCHAR(1000)LONGTEXTLONGTEXTVARCHAR(1000)VARCHAR(1000)VARCHAR(1000)VARCHAR(1000)VARCHAR(1000)VARCHAR(1000)VARCHAR(20)VARCHAR(20)VARCHAR(20)VARCHAR(20) 
#exportMode:FULL 

나는 PHP로이 파일을 읽기 위해 시작하는 어떤 곳으로 고민하고, 사람이 각 레코드를 읽을 수있는 기본 PHP에 도움이 될 수 있습니다 나는 그들이 같이 파일의 처음 몇 줄을보고 , 각 필드에 변수를 할당하면 MySQL에 쓸 수 있습니다. 여러 필드를 설정하고 나면 SQL에 쓰는 것을 처리 할 수 ​​있습니다. 사전에

감사합니다,

그렉 2GB 이하

답변

0

파일 greator이 PHP (32 비트 제한)에서 읽을 수 캔트. 낮은 크기의 사용 간단한 fopen 기능

그리고 삽입 MySQL 용

는 macthing 패턴과 삽입의 모든 작품입니다.

테이블의 구조가 모든 행과 동일하면 더 잘 수동으로 한 다음 정규 표현식이나 폭발 및 분할과 같은 다른 함수로 값을 추출하여 삽입을 실행하는 것이 좋습니다.

+0

감사합니다. fopen은 파일을 읽지 만 어떻게 각 필드를 선택하여 변수에 전달합니까? – kitenski

+0

파일의 게시 된 줄로는 그 일에 응답하거나 코드를 작성하기에 충분하지 않습니다. 줄을 더 붙여 넣으십시오. 현재 줄 집합은 실제 값이 아닌 구조 만 보여줍니다. – Arshdeep

0

각 줄마다 구분 기호가있는 경우 fgetcsv()을 볼 수 있습니다.

한 줄에 fgetcsv()를 사용하면 해당 줄의 내용을 가진 배열이 반환됩니다. 여러 라인을 가지고 있기 때문에 while() - 루프 안에 함수를 넣으십시오 (example #1)

관련 문제