Я использовал fgetcsv()
для извлечения некоторых данных из CSV-файла. Вот код:
<?php
$csv = fopen("csv/contracts.csv","r");
while(!feof($csv)){
$line = fgetcsv($csv,1024);
if($line[0] == '')
continue;
?>
<li><?php echo "$line[2] - $line[3]"; ?></li>
<?php
}
?>
Это отлично работает на моем локальном компьютере, но становится катастрофой, когда я загружаю его на свой сервер! Я передал $delimiter
с ","
на fgetcsv()
, но ничего не изменилось!
Что не так?
Версия PHP:
На локальном компьютере: 5.3.5
На сервере: 5.2.17
[EDIT]
Мой локальный вывод выглядит следующим образом:
s1 - t1
s2 - t2
s3 - t3
s4 - t4
Но на сервере:
-
-
s3 -
s4 -
<?php echo $line[2] . ' - ' . $line[3]; ?>
? - person Quasdunk   schedule 12.11.2011\"
в CSV. - person Quasdunk   schedule 12.11.2011ini_set('auto_detect_line_endings',TRUE);
, но не решил проблему. Я также просмотрел свой CSV-файл с помощью cPanel на сервере. Вроде все в порядке! - person Pedram Behroozi   schedule 12.11.2011while
.while($line=fgetcsv("file.csv",1024,',') !== FALSE) {
. Пусть fgetcsv перемещает указатель файла вдоль, а неfeof
. И хорошая идея — всегда включать разделитель! - person David Barker   schedule 12.11.2011