No hay modo de archivo abierto como "wr" en su código:
fopen("logs.txt", "wr")
Los modos de apertura de archivos en PHP http://php.net/manual/en/function.fopen.php son los mismos que en C: http://www.cplusplus.com/reference/cstdio/fopen/
Existen los siguientes modos abiertos principales "r" para leer, "w" para escribir y "a" para agregar, y no puede combinarlos. Puede agregar otros modificadores como "+" para actualizar, "b" para binario. El nuevo estándar C agrega un nuevo subespecificador estándar ("x"), compatible con PHP, que se puede agregar a cualquier especificador "w" (para formar "wx", "wbx", "w + x" o "w + bx "/" wb + x "). Este subespecificador obliga a la función a fallar si el archivo existe, en lugar de sobrescribirlo.
Además de eso, en PHP 5.2.6, se agregó el modo abierto principal 'c'. No puede combinar 'c' con 'a', 'r', 'w'. La 'c' abre el archivo solo para escribir. Si el archivo no existe, se crea. Si existe, no está truncado (en oposición a 'w'), ni falla la llamada a esta función (como es el caso con 'x'). 'c +' Abre el archivo para leer y escribir; de lo contrario, tiene el mismo comportamiento que 'c'.
Además, y en PHP 7.1.2 se agregó la opción 'e' que se puede combinar con otros modos. Establece el indicador close-on-exec en el descriptor de archivo abierto. Solo disponible en PHP compilado en sistemas conformes POSIX.1-2008.
Entonces, para la tarea como la ha descrito, el mejor modo de abrir archivo sería 'a'. Abre el archivo solo para escribir. Coloca el puntero del archivo al final del archivo. Si el archivo no existe, intenta crearlo. En este modo, fseek () no tiene efecto, las escrituras siempre se agregan.
Esto es lo que necesita, como ya se señaló anteriormente:
fopen("logs.txt", "a")