PDA

Просмотр полной версии : ф-ции fopen fwrite


Alien_z
02.02.2007, 05:46
Вопрос такой, можно ли записать в файл строку, но не в конец файла, а в начало и чтобы уже имеющиеся записи остались(т.е. соответственно сместились на одну строку ниже)???

$str="текст";
$file=fopen("history.dat",'r+');
fwrite($file, $str);

так он(php) удаляет все что было....

x0x01
02.02.2007, 12:48
такой функции нет, но можно создать новый файл записать что надо,
добавить из оригинала в конец и скопировать новый на место старого ж-)

blackybr
02.02.2007, 13:09
небольшая функция реализующая это


<?php
$result = append_to_top("myfile.txt",$data_to_write);

function append_to_top($data_file,$data) {

$original_data = file_get_contents($data_file);

$fp = fopen($data_file,"w+");
fputs($fp,$data_to_write . "\r\n");
fputs($fp,$original_data);
fclose($fp);
return();
?>

Isis
02.02.2007, 14:00
такой функции нет, но можно создать новый файл записать что надо,
добавить из оригинала в конец и скопировать новый на место старого ж-)
Мда......читай маны

Посже выложу как надо

_Great_
02.02.2007, 14:08
Rtfm

Alien_z
02.02.2007, 18:08
Сделал так как предложил x0x01, вроде работает....но хотелось бы услышать еще методы...

_Great_
02.02.2007, 18:46
blackybr предложил самый разумный

KSURi
02.02.2007, 19:12
а что разве
seek(FH,POS,WHENCE) нету в рнр?
Если есть, то просто сразу после fopen ставь seek($fh,0,0)

_Great_
02.02.2007, 19:32
KSURi, имеется в виду запись не поверх данных в начале, а перед ними. seek'ом ты переместишься на начало и все.

KSURi
02.02.2007, 21:45
сори, невнимательно читал =/