Стринг

SoniK

Ромик, но не Chef :-)
Стринг

Помогите пожалуйста :)
Как сделать, чтоб при записи строки в файл, создавалась пустая строка в начале файла и стринг записывался туда?
 

Demiurg

Guest
читать весь файл, потом еге перезаписывать.
 

SoniK

Ромик, но не Chef :-)
PHP:
$fp=fopen("snews.txt", "r+");
		$strold=fgets($fp);
		$str=$date . "|" . $_POST['who'] . "|" . $_POST['post'] . "|" . $mail . "\n";
		flock($fp, LOCK_EX);
		$ok1=fputs($fp, $str);
		$ok2=fputs($fp, $strold);
		flock($fp, LOCK_UN);
		fclose($fp);
		
		if($ok1 && $ok2)
Вот скрипт...
Надо чтоб читал файл и перезаписывал его после новой запеси, чтоб она оказывалась в начале файла :)
пробовал сделать $strold отдельно, пробовал fread и всё время возникают какието проблемы... Вот в этот раз он всё делает только работает с вдумя записями а при добавлении ртетей стирает последнюю :(
Подскажите пожалуйста в чём проблема может быть :)
 

RomikChef

Guest
Тебе никогда не стать программистом.
потому, что прогаммист, когда пишет программу- знает, что делают отдельные ее части.
Ты считываешь из файла одну строку. Всего одну строку.
А надо - естественно - весь файл.

PHP:
$fp=fopen("snews.txt", "r+");
$wholefile=fread($fp,filesize("snews.txt"));
$str=$date . "|" . $_POST['who'] . "|" . $_POST['post'] . "|" . $mail . "\n".$wholefile;
flock($fp, LOCK_EX);
$ok1=fputs($fp, $str);
flock($fp, LOCK_UN);
fclose($fp);
 

SoniK

Ромик, но не Chef :-)
да ладно тебе Москва не сразу строилась :)
научусь гогданить :)
спасибо
 

SoniK

Ромик, но не Chef :-)
Хм пример работает без ошибок, только вот не делает того, что бы хотелось Ж)
Не переписывает как надо..
 

RomikChef

Guest
ну так ты посмотри, как он переписывает, и измени так, чтобы он переписывал, как надо.
 

SoniK

Ромик, но не Chef :-)
да я вот думаю сижу... если открывать с r+ то он его не переписывает :) а если с w+ то не успевает прочитать :)
Отдельно наверно придёться читать раньше :)
 

SoniK

Ромик, но не Chef :-)
А если я прочитаю файл закрою его и открою с очисткой потом переменная с прочитаным сохраниться?
 

RomikChef

Guest
все работает прекрасно и при одном открытии.
Я в твоем примере изменил только количество считываемой информации.
С какой это стати раньше перезаписывало, а сейчас - перестало?
Дело не в принципе, а в реализации.
Ищи опечатки.
 
Сверху