У меня опять вопрос по PHP. НЕ как не получается вводить записи в начало файла, уже перепробовал многое, пишем типа такое:
$fp=fopen(“file.txt”, r+) – открываем файл для записи от начало файла, здесь все окей, дальше геморой. Пишем: $prin=”бла бла бла…” fputs ($open1, $prin); закрывая файл, чего получается: был файл: chatchatchatchatchat\n chatchatchat получаем: бла бла бла…chat\n chatchatchat то есть пишем поверх. Приколы и с \n (ENTER кто не знает), по идеи я думал enter должен опустить все строки на 1, однако нет!! Enter записывается как символ, и получаем \nhatchatchatchatchat\n chatchatchat первый байт заменяется Энтором пробовал оставлять первую строку пустую, типа так (\0 – пробел): \0\0\n chatchatchatchatchat\n chatchatchat получаем: бл\n а бла бла …chatchat\n chatchatchat Если кто знает как сделать нормально, по людски то напишите, может я чего не так делаю, уже вместо fputs и fwrite () пробовал, тот же эффект, может там ещё какая функция есть??? |
$fp=fopen(“file.txt”, r+)
Пишем: $prin=”бла бла бла…” и, имхо fputs ($fp, $prin); потом, способа писАть С начала файла я не нашел, но могу предложить вариант когда файл открывается как r+ ('r+' - Открыть для чтения и записи; поместить указатель в начало файла), его содержимое копируется во временный массив и потом пишется обратно в ентот файл сначала нужное твоему сердцу "бла бла бла", а потом старое содержимое. Есть вариации на тему, но не шибко отличные от вышеописанного... |
Сомый актуальный вопрос начинаюших. В масив не стоит ложить
cur_file - твой фаил создаеш temp_file копируеш весь cur_file -> temp_file потом перезаписуеш cur_file и к ниму дописуеш temp_file это то что тебе нужно. |
glassMonk
я примерно так и сделал, temp_file у меня не файл а переменная (потому что у меня и так большая нагрузка на сервак, боюсь временные файлы он вообше не потянет ), считываю весь файл $total_says=count($s=(file("chat.txt"))); потом открываю с W, записываю что нужно, потом записываю $s[$raz], получается запись новая в начале файла, только там проблемы с \n, если строчек 20, то на последней строчки будет 20 енторов :down: , видно когда считываешь файл, то и \n считываться, так идет нарастание. |
Записывать в файл более безопасней будет, если соеденение разарвется ...
А так как знаеш :) |
Время: 02:08. |
Время: 02:08.
© OSzone.net 2001-