Результаты fgetcsv отличаются на локальном и сервере? - PullRequest
1 голос
/ 12 ноября 2011

Я использовал 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 -

1 Ответ

0 голосов
/ 12 ноября 2011

Я думаю, что вы тестировали код локально в машине Windows, и служба Linux. Формат файла в Linux и Windows разные. Конец строки и некоторые другие вещи в Linux отличаются от окон. Протестируйте свой код в Linux (так как ваш сервер Linux), а затем попробуйте на сервере. я думаю, что там будет работать нормально ...

...