Kodunuzda "wr" gibi bir dosya açma modu yok:
fopen("logs.txt", "wr")
PHP http://php.net/manual/en/function.fopen.php dosya açık modları C: http://www.cplusplus.com/reference/cstdio/fopen/ ile aynıdır
Aşağıdaki ana açık modları okumak için "r", yazmak için "w" ve ekleme için "a" vardır ve bunları birleştiremezsiniz. Güncelleme için "+", ikili dosya için "b" gibi başka değiştiriciler ekleyebilirsiniz. Yeni C standardı, PHP tarafından desteklenen ve herhangi bir "w" belirticisine eklenebilecek ("wx", "wbx", "w + x" veya "w + bx oluşturmak için) yeni bir standart alt belirtici (" x ") ekler "/" wB + x "). Bu alt belirtici, dosyanın üzerine yazmak yerine, işlev varsa başarısız olmaya zorlar.
Bunun yanı sıra, PHP 5.2.6'da 'c' ana açık modu eklendi. 'C' ile 'a', 'r', 'w' birleştiremezsiniz. 'C' dosyayı yalnızca yazmak için açar. Dosya yoksa, oluşturulur. Varsa, ne kesilir ('w' yerine) veya bu işleve çağrı başarısız olur ('x' ile olduğu gibi). 'c +' Dosyayı okumak ve yazmak için açın; aksi takdirde 'c' ile aynı davranışa sahiptir.
Ayrıca, PHP 7.1.2'de diğer modlarla birleştirilebilen 'e' seçeneği eklendi. Açılan dosya tanımlayıcısında yürütme yakın bayrağını ayarlar. Yalnızca POSIX.1-2008 uyumlu sistemlerde derlenen PHP'de kullanılabilir.
Bu nedenle, tanımladığınız görev için en iyi dosya açma modu 'a' olacaktır. Dosyayı yalnızca yazmak için açar. Dosya işaretçisini dosyanın sonuna yerleştirir. Dosya yoksa, dosyayı oluşturmaya çalışır. Bu modda, fseek () herhangi bir etkiye sahip değildir, yazma işlemleri her zaman eklenir.
Yukarıda belirtildiği gibi ihtiyacınız olan şey:
fopen("logs.txt", "a")