2014-12-08 5 views
0

csv 가져 오기 예제를 수행하는 동안 백 슬래시 (\") 문제가 발생합니다. 여기 PHP에서 csv 파일을 가져 오는 동안 fgetcsv()와 함께 백 슬래시 ( ") 문제 발생

는 CSV에서 제 2 개 입력 라인입니다

"Travel_and_Work_en.pdf", 840722,3/2,007분의 22 10:57 AM,/2,007분의 10 10 12시 AM, 10/10/2007 9:00 AM, ".pdf", "e : \"

"._. Trashes", 4096,10/12/2010 4:55 PM, 12/8/2014 12:00 AM, 2014년 11월 13일 오전 3시 ". 삭제 한 사용자", "E : \"이 코드

, 아래 그림과 같이 I 출력 (편집 배열)를 얻고,

while (($csv_data = fgetcsv($handle, 0, ',')) !== FALSE) { 
    print_r($csv_data); 
} 

여기
Array (
    [filename] => Travel_and_Work_en.pdf 
    [file_size] => 840722 
    [modified] => 3/22/2007 10:57 AM 
    [accessed] => 10/10/2007 12:00 AM 
    [created] => 10/10/2007 9:00 AM 
    [extension] => .pdf 
    [full_path] => e:\" ._.Trashes" 

} 

문제가, 두 번째 줄 첫 번째 필드, 나는 그것 때문에 마지막에 \"의 생각하는 1 라인의 마지막 필드로 병합은 어떻게이 문제를 해결할 수 출력?

+0

지금까지 해결해 보셨습니까? 'print_r'을 사용하는 대신'var_dump'를 사용하십시오 –

+0

@RonniSkansing 그래,이 코드로 도망가는 것을 시도했지만, ($ csv_data = fgetcsv ($ handle, 0, ',', ' "', \\ '))! == FALSE) {}하지만 작동하지 않습니다. –

답변

2

큰 따옴표를 이스케이프 기호로 사용해 볼 수도 있습니다.

while (($csv_data = fgetcsv($handle, 0, ',', '"', '"')) !== FALSE) { 
    print_r($csv_data); 
} 

하지만 필드에 큰 따옴표가 없어야합니다.

+0

와우 .. 그게 완벽하게 작동하는 것 같습니다 .. 고마워요. –