sashablashenkov
@sashablashenkov

Как записать в начало файла [PHP]?

Есть вот такой код:

$filelog = fopen("2ndlog.php","a+"); 
fwrite($filelog,"\n $mailtext <br> \n"); 
fclose($filelog);


Проблема в том, что он записывает в конец файла. А надо в начало. Как это можно сделать?
  • Вопрос задан
  • 6963 просмотра
Решения вопроса 2
@Graph
<?php
$file_data = "Stuff you want to add\n";
$file_data .= file_get_contents('database.txt');
file_put_contents('database.txt', $file_data);
?>
Ответ написан
EnterSandman
@EnterSandman
Эникей
www.php.net/manual/ru/function.fopen.php про второй параметр функции почитайте
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
AxisPod
@AxisPod
Лучше через временный файл, надёжнее. Создаёте временный файл, пишите туда свой контент, копируете остатки, переименовываете файл.
Ответ написан
Комментировать
IgorO2
@IgorO2
73
Открыть файл=>переместить указатель в конец файла=>занести данные в файл=>закрыть файл
Ответ написан
Комментировать
@kapai69
Попробуй так
$filelog = fopen("2ndlog.php","x"); 
fwrite($filelog,"\n $mailtext <br> \n"); 
fclose($filelog);
Ответ написан
Melkij
@Melkij
PostgreSQL DBA
Читаете весь файл куда-нибудь, ставите fseek в 0, пишете то, что хотите записать, дописываете всё то, что в файле было вначале, в конец нового файла.

fwrite работает по смещению. Ему безразлично, было ли по этому смещению что угодно, потому режим fopen x или a+ или ещё чего не помогут. fwrite тупо перепишет указанные данные, а не запишет перед ними.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы