Запись в начало файла

ageres

Guest
Запись в начало файла

Вопрос по записи файлов...

fopen($filename, 'a') - открывает файл для дополнения и чтения. При записи, строка записывает в конец.

Вопрос: как можно записать строчку в начало файла?

Спасибо

-~{}~ 15.02.04 22:11:

fopen($filename, 'r+')
Спасибо, разобрался.
 

василыч

Guest
1) Считать весь файл в переменную.
2) Открыть файл в режиме W.
3) Записать в файл новую инфу.
4) Записать старую.

НО ТАК НИКТО НЕ ДЕЛАЕТ. Все пишут в конец.
 

ageres

Guest
Мне нужно изменить заголовок xslt-файла, поэтому данные должны меняться в начале. Конечно, можно писать сначала заголовок, потом данные xslt-файла, но это уже дополнительная задача, имхо :)
 

Найч

Алгоритмик :-)
василыч, василыч... Помниться, ты как-то показал замечательный алгоритм удаления из строки пробелов с ее начала. Замечательный алгоритм. Ты там еще сдвигал ВСЮ строку посимвольно. Видимо, это у тебя уже привычка. Вредная.
 

василыч

Guest
Найч, что то не так? Есть другой способ записи в начало файла?

Между прочим, умник, этот алгоритм мне мой учитель написал. Так что не надо. Если можешь - напиши лучше.
 

Найч

Алгоритмик :-)
василыч , прости, этот - это про строки или с файлами?
Лучше... Вот с ходу
Новый файл, туда заголовки, потом по частям переписываем старый, удаляем старый, переименовываем новый. На больших файлах не загнется))
Главное - не нервничай и не переходи на личности.
 

василыч

Guest
про строки.

Новый файл, туда заголовки, потом по частям переписываем старый, удаляем старый, переименовываем новый. На больших файлах не загнется))

И зачем такой гемморой?
 

Найч

Алгоритмик :-)
Пожалуйста, прочти все _внимательно_.
Давай немного обсудим алгоритмы. Этого случая и того, со строками. В том случае тебе умные люди явно показали и пояснили, почему твой способ задохнеться на более-менее больших строках. Ты предложил самый неоптимальный алгоритм. (Могу ошибаться - в этом вопросе легко составляется еще более кривой способ:)) Уважая учителей, думаю, что он тебе хотел показать всю плохость сего метода.
Теперь как это относиться к данному топику. В вопросе ничего не было сказано про размер файла. Ни-че-го. Ни слова. Совсем. В твоем ответе ситуация аналогична. Без указания "но использовать этот вариант можно только в том случае, если ты уверен, что файлики у тебя маленькие". Человек реализует твой способ и все замечательно у него будет работать. Потом условия изменяться, попадеться гигабайтный файлик)) И пых будет отваливаться с непонятной ошибкой. Человек, помня, что ему в этом форуме помогли, обратиться еще раз. Но с вопросом вроде "У меня несколько месяцев работал вот этот алгоритм. Но когда мы переехали к другому хостеру, пых стал отваливаться с такой-то ошибкой. Где надо пихнуть хостера (пыха)?".
Надеюсь, я понятно изложил причину геморроя, как ты это назвал. Если уж отвечаешь на вопрос без уточнений, то конкретизируй условия, где приемлим твой способ.
Если хочешь потренироваться создавать действительно эффективные алгоритмы, создай тему - тебе обязательно все покажут и расскажут))
 

василыч

Guest
>Уважая учителей, думаю, что он тебе хотел показать всю плохость сего метода.
не думаю.

Ну если так рассуждать... Если я делаю базу-файл, где я уверен, будет не больше 200 кб инфы, то зачем мне использовать твой метод? А зачем тебе использовать мой, если у тебя файлы гигабайтские?... Для гигабайтских файлов нужны не файлы, а БД. Правильно ты сказал, всё зависит от конкрентной задачи.

Но в большинстве случаев плодить новый файл - глупо. Это никому не нужно. Ни у одного нормального человека файла-базы на гигабайт не будет.
 

Найч

Алгоритмик :-)
Начинаю понимать Фаната.
Василыч, попытайся понять смысл вышеизложенного, а не отстоять свою точку зрения. Ты оперируешь предположениями, которые сам же и предложил.
 

lucas

Guest
Продолжаем урок... ;)

василыч

Ты точно уверен в пункте 2 своего алгоритма?
 

Nexus

Guest
василыч, плюнь на гигабайт. Частенько у хостера объём памяти под пых 8-16, в лучшем случае 32 Мб.

Тебе просто попытались помочь и показать слабое место в твоих рассуждениях.

И преподы частенько ошибаются. Они всё-таки работают на одну зарплату частенько, недоедают, особенно витаминов. Отсюда и аттрофирование некоторых участков мозга. Это так, к сведению, чтоб не всех преподов обожествляли :)
 
Сверху