0
다른 사람들이 아마 차이점을 설명 할 수 있습니까? 형식을 인식하거나 변경하는 방법은 무엇입니까?PHP CSV 업로드 UTF-8 (BOM 포함 및 제외)
나는 간단한 HTML 업로드 양식을 가지고 있으며 업로드 후 fgetcsv()를 사용하여 파일 내용을 구문 분석합니다. 구문 분석 후 나는이
array(2) {
[0]=>
array(9) {
["OrderId"]=>
string(13) "FG-456887"
["Product"]=>
string(7) "B9876"
}
[1]=>
array(9) {
["OrderId"]=>
string(13) "FG-852562"
["Product"]=>
string(7) "B9877"
}
}
위해 var_dump()와 같은 배열이 저를 (명백하게) 표시했습니다 정확히 같은 덤프, 또는 BOM없이 파일을 사용하여,하지만 난이 배열을 통해 간단한 루프를 만들 때 경우에 검사 할 때 OrderId (CSV의 첫 번째 필드)는 비어 있습니다. CSV가 BOM없이 인코딩되면 항상 실패합니다. 동일한 파일을 BOM과 함께 저장하면 모든 것이 정상적으로 작동합니다.
foreach ($data as $position) {
$orderid = $position["OrderId"];
if (empty($orderid)) die('No orderid found');
}
그리고 첫 번째 입력란 일뿐입니다. 다른 입력란은 ok입니다.