Senin sorunun tamamen emin değilim - veri yazmak ve varolan bir dosyanın başlangıcını yazmak fazla, ya da bundan sonra varolan içeriği tutarak, varolan dosyanın başlangıcına yeni veri yazmak onu yok etmek istiyorsun?
To insert text without over-writing the beginning of the file, sen ekleme için açmak gerekecek (a+
yerine r+
a>)
$file=fopen(date("Y-m-d").".txt","a+") or exit("Unable to open file!");
if ($_POST["lastname"] <> "")
{
fwrite($file,$_POST["lastname"]."\n");
}
fclose($file);
If you're trying to write to the start of the file, önce, sonra çıktı dosyasına dosya içeriğine ardından yeni dize yazmak ( a> file_get_contents
bakınız) dosya içeriğini okumak gerekir.
$old_content = file_get_contents($file);
fwrite($file, $new_content."\n".$old_content);
The above approach will work with small files, but you may run into memory limits trying to read a large file in using file_get_conents
. In this case, consider using rewind($file)
, which sets the file position indicator for handle to the beginning of the file stream.
Note when using rewind()
, not to open the file with the a
(or a+
) options, as:
Eğer append dosyası ("a" ya da "+") modu açtıysanız, dosyaya yazmak herhangi bir veri olursa olsun her zaman dosya pozisyon, eklenecektir.