|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Запись/чтение в/из файла по строчно + удаление элементов... |
|
Запись/чтение в/из файла по строчно + удаление элементов...
|
Старожил Сообщения: 151 |
Профиль | Сайт | Отправить PM | Цитировать 1. Как считать из файла определенную строку? Как записать в файл на место одной строки другую?
Я пользовался функцией file(), то есть считал весь файл в массив-список и дальше работал со строками-элементами массива. Но при записи в файл fputs(,массив[$i]) / fwrite(,массив[$i]) в конец каждой строки файла добавлялся неопределенный символ. По-видимому - это "\n" или "\r\n". Как правильно считывать и записывать в файл отдельные строки? + как избежать проблем с разным пониманием символов конца строки для UNIX/Windows? 2. Есть массив, созданный в цикле "на лету", то есть $Mass[]="abcd", $Mass[]="efhg", ... Как мне наиболее граммотно удалить какой-нибудь элемент этого массива, так, чтобы после этого не было бы "дыр" в массиве? В общем, хотелось бы "совсем" удалить несколько элементов. [s]Исправлено: Georgiy, 0:55 17-07-2004[/s] |
|
Отправлено: 00:53, 17-07-2004 |
Ночной странник Сообщения: 4050
|
Профиль | Сайт | Отправить PM | Цитировать Georgiy
1) если хочешь работать с отдельными строками то так и придется делать, иначе ни как. для задания кодировки есть настройка AddDefaultCharset в файле httpd.conf 2) помоему придется удалять его в ручную... |
------- Отправлено: 02:58, 17-07-2004 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать Georgiy
2)эллемент из массива удаляется с помощью unset($a[key]); При этом не образуется никакой дыры, пара ключ/значение полностью удаляются 1)В мануале написано, что можно от знаков окончания строки избавится с помощью функции trim() То есть читаем файл с помощью file(), а потом с помощью array_walk делаем trim() каждому элементу [s]Исправлено: vadimiron, 13:30 17-07-2004[/s] |
------- Отправлено: 15:29, 17-07-2004 | #3 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать вдогонку - упмянутая тут директива
Цитата:
От знаков окончания строки, как уже написал vadimiron можно избавиться при помощи trim(), или, если удалять все это, откусывая именно от конца строки: rtrim() или chop() |
|
Отправлено: 20:05, 17-07-2004 | #4 |
Старожил Сообщения: 151
|
Профиль | Сайт | Отправить PM | Цитировать vadimiron
Я почти также и делал: для каждой строки $string=str_replace("\r","",$string); Вот и подумал - что наверняка есть лучше метод. Плюс если это работает в Винде, как будет на другой ОС... Vlad Drakula Да, согласен с mar про догонку... А про массив - в ручную, это через временные массивы? Про unset: я применял эту функцию, но после применения этой функций дальше массив становился совсем пустым, хотя удалял 3 первых элемента... |
|
Отправлено: 02:13, 18-07-2004 | #5 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать Georgiy
по поводу конца строк: дело в том, что как раз Цитата:
Цитата:
|
||
Отправлено: 14:40, 18-07-2004 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Удаление элементов TreeView | gregaz | AutoIt | 4 | 01-02-2009 18:46 | |
[решено] Чтение-запись битого файла | vit777 | Видео и аудио: обработка и кодирование | 3 | 19-12-2007 09:45 | |
Чтение и запись CD-R дисков... | GulaG | Хочу все знать | 25 | 08-06-2004 20:15 | |
Чтение/запись на разделе | Spijon | Общий по Linux | 8 | 07-10-2003 20:57 |
|