In [34]: import datetime
In [35]: _now = datetime.datetime.now()
In [36]: _now
Out[36]: datetime.datetime(2016, 1, 19, 9, 47, 0, 432000)
In [37]: print _now
2016-01-19 09:47:00.432000
In [38]: _parsed = datetime.datetime.strptime(str(_now),"%Y-%m-%d %H:%M:%S.%f")
In [39]: _parsed
Out[39]: datetime.datetime(2016, 1, 19, 9, 47, 0, 432000)
In [40]: assert _now == _parsed
Я не совсем уверен в Вашем вопросе - Вы хотите записать, что данные и не иметь его перезаписывают начало существующего файла или пишут новые данные в запуск существующего файла, сохраняя существующее содержание после него?
Для вставки текста, не перезаписывая начало файла необходимо будет открыть его для добавления (a+
вместо r+
)
$file=fopen(date("Y-m-d").".txt","a+") or exit("Unable to open file!");
if ($_POST["lastname"] <> "")
{
fwrite($file,$_POST["lastname"]."\n");
}
fclose($file);
При попытке записать в запуск файла, необходимо будет читать в содержании файла (см. file_get_contents
) во-первых, затем запишите свою новую строку, сопровождаемую содержанием файла к выходному файлу.
$old_content = file_get_contents($file);
fwrite($file, $new_content."\n".$old_content);
Вышеупомянутый подход будет работать с маленькими файлами, но можно столкнуться с пределами памяти, пытающимися считать большой файл в использовании file_get_conents
. В этом случае рассмотреть использование rewind($file)
, который устанавливает индикатор позиции в файле для дескриптора к началу потока файла. Отметьте при использовании rewind()
, не открыть файл с a
(или a+
) опции, как:
Если Вы открылись, файл в добавляют ("a" или "+") режим, любые данные, которые Вы пишете в файл, будут всегда добавляться, независимо от положения файла.
Если бы Вы хотите поместить свой текст в начале файла, необходимо было бы считать содержание файла сначала как:
<?php
$file=fopen(date("Y-m-d").".txt","r+") or exit("Unable to open file!");
if ($_POST["lastname"] <> "")
{
$existingText = file_get_contents($file);
fwrite($file, $existingText . $_POST["lastname"]."\n");
}
fclose($file);
?>
Вы получаете то же открытие файл для добавления
<?php
$file=fopen(date("Y-m-d").".txt","a+") or exit("Unable to open file!");
if ($_POST["lastname"] <> "")
{
fwrite($file,$_POST["lastname"]."\n");
}
fclose($file);
?>