![]() |
1. Как считать из файла определенную строку? Как записать в файл на место одной строки другую?
Я пользовался функцией file(), то есть считал весь файл в массив-список и дальше работал со строками-элементами массива. Но при записи в файл fputs(,массив[$i]) / fwrite(,массив[$i]) в конец каждой строки файла добавлялся неопределенный символ. По-видимому - это "\n" или "\r\n". Как правильно считывать и записывать в файл отдельные строки? + как избежать проблем с разным пониманием символов конца строки для UNIX/Windows? 2. Есть массив, созданный в цикле "на лету", то есть $Mass[]="abcd", $Mass[]="efhg", ... Как мне наиболее граммотно удалить какой-нибудь элемент этого массива, так, чтобы после этого не было бы "дыр" в массиве? В общем, хотелось бы "совсем" удалить несколько элементов. [s]Исправлено: Georgiy, 0:55 17-07-2004[/s] |
Georgiy
1) если хочешь работать с отдельными строками то так и придется делать, иначе ни как. для задания кодировки есть настройка AddDefaultCharset в файле httpd.conf 2) помоему придется удалять его в ручную... |
Georgiy
2)эллемент из массива удаляется с помощью unset($a[key]); При этом не образуется никакой дыры, пара ключ/значение полностью удаляются 1)В мануале написано, что можно от знаков окончания строки избавится с помощью функции trim() То есть читаем файл с помощью file(), а потом с помощью array_walk делаем trim() каждому элементу [s]Исправлено: vadimiron, 13:30 17-07-2004[/s] |
вдогонку - упмянутая тут директива
Цитата:
От знаков окончания строки, как уже написал vadimiron можно избавиться при помощи trim(), или, если удалять все это, откусывая именно от конца строки: rtrim() или chop() |
vadimiron
Я почти также и делал: для каждой строки $string=str_replace("\r","",$string); Вот и подумал - что наверняка есть лучше метод. Плюс если это работает в Винде, как будет на другой ОС... Vlad Drakula Да, согласен с mar про догонку... А про массив - в ручную, это через временные массивы? Про unset: я применял эту функцию, но после применения этой функций дальше массив становился совсем пустым, хотя удалял 3 первых элемента... |
Georgiy
по поводу конца строк: дело в том, что как раз Цитата:
Цитата:
|
Время: 20:15. |
Время: 20:15.
© OSzone.net 2001-