2012-06-18 6 views
0

Я пытаюсь прочитать CSV-файл (разделенный запятыми), но, к сожалению, он не отвечает так, как должен. Я не уверен, что я делаю неправильно, но я буду вставлять содержимое из кода и файл как CSV:Ошибка чтения CSV-файла (PHP)

$row = 0; 
if($handle = fopen("SampleQuizData.csv","r") !== FALSE) 
{ 
    // WORKS UNTIL HERE, SO FILE IS BEING READ 
    while(!feof(handle)) 
    { 
     $line = fgetcsv($handle, 1024, ",") ; 
     echo $line[2]; // DOES NOT WORK 
    }  
} 

Вот файл CSV (электронные письма и имена изменены здесь, чтобы защитить тождественности пользователей)

parijat,something,[email protected] 
matthew,durp, [email protected] 
steve,vai,[email protected] 
rajni,kanth,[email protected] 
+1

Вы можете повторить $ линию [0]? Какая ошибка вы получаете? – andrewsi

+4

Прежде чем задавать вопросы, включите 'error_reporting' и обратите внимание, что он сказал бы, что вам не хватает' '' '' feof (handle) '(должно быть' feof ($ handle) '. _always_ enable _all_ errors при разработке, или, по крайней мере, перед тем, как задать вопрос: P – Wrikken

+0

Я исправил его, и это то же самое ... компьютер застрял, пытаясь разобрать CSV-файл. – user1020069

ответ

1

Дайте этому попытку:

<?php 

$row = 0; 

if (($handle = fopen("SampleQuizData.csv", "r")) !== FALSE) 
{ 
    while(!feof($handle)) 
    { 
     $line = fgetcsv($handle, 1024, ",") ; 
     echo "$line[2]"; 
    }  
} 

?> 
+0

Это сработало для меня. Вы можете изменить '$ line [2]' на '$ line [1]' и т. Д. –

+0

, который тоже работал для меня ... собирался сделать разницу в коде и выяснить, что пошло не так. – user1020069

+0

@ user1020069 Вы очень желанны. В разнице кода отсутствовали дополнительные скобки на вашей второй строке. Могло бы быть больше, но это то, что я помню. Cheers ~ –

2

ему не хватает '$' в переменную ручки

while(!feof($handle)){ 

, а не:

while(!feof(handle)){ 
+0

правда, но, видимо, это не решило проблему – user1020069

0

Стоит упомянуть, но когда я работал над экспортом CSV несколько недель назад, у меня были странные строки, которые заканчивались несоответствиями. Поэтому я поставил это в верхней части моего php-файла, и он работал великолепно.

<?php 
    ini_set("auto_detect_line_endings", true); 
?> 
Смежные вопросы