Không có chế độ mở tệp như "wr" trong mã của bạn:
fopen("logs.txt", "wr")
Các chế độ mở tệp trong PHP http://php.net/manual/en/feft.fopen.php giống như trong C: http://www.cplusplus.com/reference/cstdio/fopen/
Có các chế độ mở chính sau "r" để đọc, "w" để ghi và "a" để chắp thêm và bạn không thể kết hợp chúng. Bạn có thể thêm các sửa đổi khác như "+" để cập nhật, "b" cho nhị phân. Tiêu chuẩn C mới thêm một bộ phân loại tiêu chuẩn mới ("x"), được PHP hỗ trợ, có thể được thêm vào bất kỳ trình xác định "w" nào (để tạo thành "wx", "wbx", "w + x" hoặc "w + bx "/" wb + x "). Bộ phân loại này buộc hàm bị lỗi nếu tệp tồn tại, thay vì ghi đè lên nó.
Ngoài ra, trong PHP 5.2.6, chế độ mở chính 'c' đã được thêm vào. Bạn không thể kết hợp 'c' với 'a', 'r', 'w'. 'C' mở tệp chỉ để viết. Nếu tập tin không tồn tại, nó được tạo ra. Nếu nó tồn tại, nó không bị cắt ngắn (trái ngược với 'w'), cũng như cuộc gọi đến chức năng này không thành công (như trường hợp với 'x'). 'c +' Mở tệp để đọc và viết; mặt khác, nó có hành vi tương tự như 'c'.
Ngoài ra, và trong PHP 7.1.2, tùy chọn 'e' đã được thêm vào có thể được kết hợp với các chế độ khác. Nó đặt cờ close-on-exec trên bộ mô tả tệp đã mở. Chỉ có sẵn trong PHP được biên dịch trên các hệ thống tuân thủ POSIX.1-2008.
Vì vậy, đối với tác vụ như bạn đã mô tả, chế độ mở tệp tốt nhất sẽ là 'a'. Nó mở tập tin chỉ để viết. Nó đặt con trỏ tập tin ở cuối tập tin. Nếu tập tin không tồn tại, nó sẽ cố gắng tạo nó. Trong chế độ này, fseek () không có hiệu lực, ghi luôn được thêm vào.
Đây là những gì bạn cần, như đã được chỉ ra ở trên:
fopen("logs.txt", "a")