Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Направления программирования
>
Web
>
Серверные скрипты
> Тема:
окончания строк
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: окончания строк (Прочитано 7006 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Chuda
Гость
окончания строк
«
:
17-03-2009 06:50 »
Есть такая конструкция:
Код:
$fp = fopen ($_FILES['order_file']['tmp_name'],"r");
while ($data = fgetcsv ($fp, 2048, ",")) {
…
Суть её в том, что читается файл csv.
Всё нормально до тех пор, пока не попадается файл csv с окончаниями строк \r
Такого рода окончания вообще не воспринимаются функцией fgetcsv.
Как можно исправить ситуацию с минимальными изменениями?
Записан
McZim
Команда клуба
Offline
Пол:
Я странный
Re: окончания строк
«
Ответ #1 :
17-03-2009 07:05 »
Код:
(while ($data = fgetcsv ($fp, 2048, ",")) !== false) {
и включить auto-detect-line-endings
«
Последнее редактирование: 17-03-2009 07:09 от McZim
»
Записан
The CBO without stats is like a morning without coffee. (c) T.Kyte.
Sla
Команда клуба
Offline
Пол:
Re: окончания строк
«
Ответ #2 :
17-03-2009 07:11 »
я отказался от fgetcsv
Код:
$fhandle = fopen("my_file.csv","r");
if ($fhandle)
{
while (!feof($fhandle))
{
$buffer = fgets($fhandle, 1024);
$buffer = trim($buffer);
$buffer = str_replace(chr(10),"",$buffer);
$buffer = str_replace(chr(13),"",$buffer);
if ($buffer != "" )
Записан
Мы все учились понемногу... Чему-нибудь и как-нибудь.
McZim
Команда клуба
Offline
Пол:
Я странный
Re: окончания строк
«
Ответ #3 :
17-03-2009 07:11 »
будет что то типа
Код:
<?php
ini_set
(&
#39;auto_detect_line_endings',TRUE);
$handle
=
fopen
(&
#39;/path/to/file','r');
while ( (
$data
=
fgetcsv
(
$handle
) ) !==
FALSE
) {
//process
}
ini_set
(&
#39;auto_detect_line_endings',FALSE);
?>
Записан
The CBO without stats is like a morning without coffee. (c) T.Kyte.
Chuda
Гость
Re: окончания строк
«
Ответ #4 :
17-03-2009 07:39 »
McZim
, спасибо.
auto_detect_line_endings — как раз то, что нужно.
Работает на первый взгляд исправно, исправлений — ровно одна строка.
Ещё потестирую, конечно…
Записан
McZim
Команда клуба
Offline
Пол:
Я странный
Re: окончания строк
«
Ответ #5 :
17-03-2009 08:03 »
Шильгия
, всегда пожалуйста
Записан
The CBO without stats is like a morning without coffee. (c) T.Kyte.
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Направления программирования
>
Web
>
Серверные скрипты
> Тема:
окончания строк
Загружается...