Как записать в самое начало строки в текстовом файл в php?

не могу записать данные с начала строки

вот код

    **<?php
    $datavnes=$_POST['datavnes'];
    $datapost = $_POST['datapost']; 
    $jur = $_POST['jur']; 
    $summ = $_POST['summ'];
    $numberpp = $_POST['numberpp'];
    $org = $_POST['org'];
    $notes = $_POST['notes'];
    $man = $_POST['man'];
    $file_change="\n $datavnes;$datapost;$jur;$summ;$numberpp;$org;$notes;$man";
    $file=fopen("db/items.txt", "a+");
    fputs($file,$file_change."\r\n");
    fclose($file);
    ?>
<form method="post">
Добавить<br/>
<input placeholder="Дата внес." type="text" name="datavnes" /><br/>
<input placeholder="Дата пост." type="text" name="datapost" /><br/> 
<input placeholder="Юр. лицо" type="text" name="jur" /><br/> 
<input placeholder="Сумма" type="text" name="summ" /><br/> 
<input placeholder="Номер п/п" type="text" name="numberpp" /><br/> 
<input placeholder="Организация" type="text" name="org" /><br/>
<input placeholder="Примечание" type="text" name="notes" /> <br/>
<input placeholder="Менеджер" type="text" name="man" /><br/> 
<input type="submit" name="btn" />
</form>
<html>
 <head>
  <title>добавить товар</title>
 </head>
 <body>**

Ответы (1 шт):

Автор решения: mepihindeveloper

Приведу пример, который не относится к вашим данным:

$file_data = "Stuff you want to add\n";
$file_data .= file_get_contents('database.txt');
file_put_contents('database.txt', $file_data);
?>

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

Либо используйте атрибуты метода fopen:

'r' Открывает файл только для чтения; помещает указатель в начало файла.

'r+' Открывает файл для чтения и записи; помещает указатель в начало файла.

'w' Открывает файл только для записи; помещает указатель в начало файла и обрезает файл до нулевой длины. Если файл не существует - пробует его создать.

'w+' Открывает файл для чтения и записи; помещает указатель в начало файла и обрезает файл до нулевой длины. Если файл не существует - пытается его создать.

'a' Открывает файл только для записи; помещает указатель в конец файла. Если файл не существует - пытается его создать. В данном режиме функция fseek() не применима, записи всегда добавляются в конец.

'a+' Открывает файл для чтения и записи; помещает указатель в конец файла. Если файл не существует - пытается его создать. В данном режиме функция fseek() влияет только на позицию чтения, записи всегда добавляются в конец.

'x' Создаёт и открывает только для записи; помещает указатель в начало файла. Если файл уже существует, вызов fopen() закончится неудачей, вернёт FALSE и выдаст ошибку уровня E_WARNING. Если файл не существует, попытается его создать. Это эквивалентно указанию флагов O_EXCL|O_CREAT для внутреннего системного вызова open(2).

'x+' Создаёт и открывает для чтения и записи; в остальном имеет то же поведение, что и'x'.

'c' Открывает файл только для записи. Если файл не существует, то он создается. Если же файл существует, то он не обрезается (в отличие от 'w'), и вызов к этой функции не вызывает ошибку (также как и в случае с 'x'). Указатель на файл будет установлен на начало файла. Это может быть полезно при желании заблокировать файл (см. flock()) перед изменением, так как использование 'w' может обрезать файл еще до того как была получена блокировка (если вы желаете обрезать файл, можно использовать функцию ftruncate() после запроса на блокировку).

'c+' Открывает файл для чтения и записи; в остальном имеет то же поведение, что и 'c'.

'e' Установить флаг close-on-exec (закрыть при запуске) на открытый файловый дескриптор. Доступно только в PHP скомпилированном на системах поддерживающих POSIX.1-2008

Эту информацию можно было прочитать в документации метода fopen

→ Ссылка