Проблема со считыванием строки файла с разделителями

  • Автор темы lobzey
  • Дата начала
L

lobzey

#1
Написал php-код для телефонного справочника. На локальном сервере под виндой работает безупречно, на хостере под linux инструкция:

$stroka=fgetcsv($fp,100,",");

некорректно заполняет массив. Например строка:
"123456,иванов и. и.,победы,д. 3"

разбивается на массив из четырех элементов, но в содержимом корректно отображаются только цифры и символы после точки. Вот что получается:
$stroka[0] = "123456"
$stroka[1] = ". и."
$stroka[2] = ""
$stroka[3] = ". 3"

На локальном хостинге "Server Version: Apache/2.0.59 (Win32) PHP/5.1.6 " Все работает нормально.

Я ,конечно, могу считать данные посимвольно и всё получится, но значительно упадет скорость работы скрипта. Надо как то заставить правильно работать оператор fgetcsv или найти ему альтернативу.
 
N
#3
Зачем использовать работу с файлами, не легче юзать БД?
Насчет проблем в Линуксе проверь права на запись/чтетение.
 
L

lobzey

#5
Зачем использовать работу с файлами, не легче юзать БД?
Да срадостью бы, но я пока не умею. БД-слишком сложно, а я web-программированием занялся меньше месяца назад. Вот учусь методом тыка. Потихоньку получается. :)

По делу, читай по строчке и юзай split.
Когда нибудь узнаю, буду юзать.
 
D

destr

#6
Ну сделайте так

Код:
$array_file = file("myfile.csv");

$cnt = count($array_file);
for ($i = 0; $i < $cnt; ++$i)
{
$stroka = explode(",", $array_file[$i]);
}