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

DimaK

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

Возможно, такой вопрос звучал ранее, но я его не нашёл.
Проблема в том, что при записи информации в начало файла всё из файла удаляется (как при w+) или остаётся пара символов.
В чём проблема?
Код:
<?
$vibor=$_POST['vibor'];
$proverka=file_exists("/home/localhost/www/".$vibor.".txt");
if ($proverka==true){
$file=fopen("vibor.txt","r+");
fwrite($file,"test=".$vibor);
fclose($file);
}
?>
Заранее благодарен.
 

SiMM

Новичок
Проблема в том, что если ты хочешь сделать вставку, тебе необходимо ПРОЧЕСТЬ ВЕСЬ ФАЙЛ и перезаписать его. Более сложные алгоритмы позовляют читать лишь часть файла ПОСЛЕ вставки. Аналогия с магнитофоном - ты же не можешь ВПИСАТЬ посередине композиции что-то ещё (вариант с ножницами и вклейкой - не рассматривается).
 

DimaK

Новичок
Вот работающий код:
<?
$vibor=$_POST['vibor'];
$proverka=file_exists("/home/localhost/www/".$vibor.".txt");
if ($proverka==true){
$file=fopen("vibor.txt","r");
$f = fread($file, 30);
fclose($file);
$file=fopen("vibor.txt","w+");
fwrite($file,"vibor0=".$vibor."&".$f);
fclose($file);
}
?>
Неужели нельзя сделать с помощью одного fopen?
 

DimaK

Новичок
Теперь другая проблема: при чтении файла почему-то не виден символ "&" и всё, что идёт после него.
Это из-за чего?
 

Фанат

oncle terrible
Команда форума
ха ха ха
я полагаю, что ты заблуждаешься, и читается у тебя всё целиком.
а проблема воя от того, что ты подзабыл хтмл
 

DimaK

Новичок
Код:
<?
$vibor=$_POST['vibor'];
$proverka=file_exists("/home/localhost/www/".$vibor.".txt");
if ($proverka==true){
$file=fopen("vibor.txt","r+b");
$f=file_get_contents('vibor.txt');
fwrite($file,"vibor=".$vibor."&".$f);
fclose($file);
echo"res=$f";
}
?>
В res выводится результат чтения файла, и никакого "&" там нет. Если же вместо "&" записывать, допустим, "!", то всё нормально выводит.

-~{}~ 23.08.05 20:18:

Спасибо всем. Я разобрался.
 
Сверху