다음 코드를 사용하여 CSV 파일을 구문 분석 filegetcsv
를 사용하려고 그것으로 물건을 발견 원인 :filegetcsv <a href="http://php.net/manual/en/function.fgetcsv.php" rel="nofollow noreferrer">PHP function definition</a> 페이지를 포함하여, 인터넷을 통해 모든 무한 루프
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
print_r($data);
}
fclose($handle);
}
그러나 코드 것은 나에게주는 $data =
라인에 경고의 무한 루프 : 나는 파일 이름에 더미 문자를 추가하면 내가 다른 얻을 수 있기 때문에 내가 개방 해요 파일을 알고
PHP Warning: fgetcsv() expects parameter 1 to be resource, boolean given in...
- 는 유효한 파일 오류 및 루프 없음.
- 파일이 모든 권한을 가진 폴더에 있습니다. 내가 Mac에서 엑셀에 의해 생성 된 CSV를 사용하지 않는
- (there's a quirky error there)
- PHP 버전 5.1.6, 내가 파일을 알고
너무 큰 아니라 기능에 문제가 없어야하므로, 또는 나는 그 마지막 문제이고 있는지 확인하기 위해 원본 파일을 축소 유지하기 때문에 잘못, 그냥 아무것도 메모장에서 사용자 지정 파일을 만든 두 개 이상의 선이 같은 :
Value1A, Value1B, Value1C, Value1D
여전히 루핑 및 데이터 제공 없음. 여기에 내가 지금 함께 일하고 있어요 전체 코드는
if ($handle = fopen($_SERVER['DOCUMENT_ROOT'].'/tmp/test-csv-file.csv', 'r') !== FALSE) {
while ((($data = fgetcsv($handle, 1000, ',')) !== FALSE) && ($row < 10)) {
print_r($data);
$row++;
}
fclose($handle);
}
그래서 정말이 (내가 실제로 내 서버 무한 루프를주지 않고 무한 루프 것 것을 증명할 수있는 행의 수보다 큰의 변수를 사용하여)입니다 두 가지 질문.
1)이 루프를 일으키는 것이 무엇인지 간과 할 수 있습니까? 나는 이것이 정말로 "얼굴 손바닥"과 같은 단순한 것으로 반쯤 확신합니다 ...
2) 파일이 있지만 알려지지 않은 문제가있는 경우 무한 루프를 유발할 수있는이 기능에 권장되는 코드가 왜 나옵니까? 나는 !== FALSE
등의 목적을 그런 종류의 것들을 막는 것이라고 생각했을 것이다.
그리고 그것은 코드의 정확한 복사/붙여 넣기입니다. 수동으로 다시 입력하지 않았습니까? – Crontab
일부 의견을 복사하여 붙여 넣었으므로 원본에 오류가있는 경우 모든 내용을 복사하여 붙여 넣었습니다. – joshuahedlund