Как записать данные в начало фаила?

York

Новичок
Как записать данные в начало фаила?

или я торможу сегодня вечером, или что то еще =)

как записать данные в начало существующего фаила??

и если можно , дайте примеры

заранее спасибо
 

Linker

Guest
York:

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

А сделать можно, например, так:

считать содержимое файла в переменную, затем добавить к началу переменной что нужно, затем записать снова в файл.
 

fixxxer

К.О.
Партнер клуба
Пора в faq заносить.
Вопрос из разряда "как перенумеровать автоинкремент".
 

York

Новичок
Автор оригинала: Linker
York:

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

А сделать можно, например, так:

считать содержимое файла в переменную, затем добавить к началу переменной что нужно, затем записать снова в файл.
у меня вчера была такая идея : считывать все в переменную, потом добавлять к переменной строку и все записывать обратно.

НО думал есть другой способ...

а необходимость такая действительно есть
 

York

Новичок
Автор оригинала: fixxxer
Пора в faq заносить.
Вопрос из разряда "как перенумеровать автоинкремент".
тебе делать нечего?
нафиг флеймить???

умным хочешь показаться?
 

Altex

Новичок
А ты хочешь языком только часать? Тебя спросили, ты !захотел отвечать, теперь это будет оффтоп.
 

Yuriy_S

-=PHP-Club=-
записывай в конец файла.

Зачем тебе в начало?
Если хочешь выводить последние добавленные записи первыми, то испльзуй array_reverse()
 

York

Новичок
Автор оригинала: Yuriy_S
записывай в конец файла.

Зачем тебе в начало?
Если хочешь выводить последние добавленные записи первыми, то испльзуй array_reverse()
мне надо записывать данные ИМЕННО в начало,
так требует задача, по другому никак.

буду делать уже как написал : считывать все в переменную, добавлять текст, и обратно в фаил
 

Yuriy_S

-=PHP-Club=-
можно так же в массив считать, затем добавить в него 1 элемент в начало и записать в файл.
 

Altex

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

Yuriy_S
Далеко не самый лучший вариант, не к чему делать лишнюю работу, нагружая сервак, транжиря процессорное время и память. Не красивый подход.
 

Yuriy_S

-=PHP-Club=-
2Altex:
согласен, я лишь говорю "можно" ;), это не значит, что нужно
 

Altex

Новичок
Yuriy_S
А знаешь как ещё можно? (((;

Про file() в соседнем треде красиво написано (;
 

Yuriy_S

-=PHP-Club=-
знаю, но это будет не лучшее решение ;)
просто считать файл в строку - быстрее, чем file() в массив;

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

Alex2003

Новичок
присоеденить старый файл (переименованый во что-то временное) к новому можно ИМХО системными функциями операционки, чтобы не читать в память.
 

Altex

Новичок
Yuriy_S
Сразу весь может оказаться накладно на память, я имею ввиду fread(); Если ты имел ввиду что-то другое то скажи :)
 

pauk

Новичок
Re: Как записать данные в начало фаила?

Автор оригинала: York
или я торможу сегодня вечером, или что то еще =)

как записать данные в начало существующего фаила??

и если можно , дайте примеры

заранее спасибо
-Переименовать исходный файл
-Открыть новый файл под исходным именем
-Записать туда че надо
-Считать старый файл и записать в конец нового
-Удалить переименованный файл
 

Zh0rzh

Новичок
-Переименовать исходный файл
-Открыть новый файл под исходным именем
-Записать туда че надо
-Считать старый файл и записать в конец нового
-Удалить переименованный файл
Самый короткий и рациональный алгоритм, который я видел :))) в этом треде :)
 

Фанат

oncle terrible
Команда форума
Вроде бы, курепинский сайт был забанен на этом форуме.
поскольку данный индивидуум вообще ничего не понимает в теме, на которую берется писать свои каракули.
То же относится и к приведенной заметке.
 
Сверху