В документации прописано, что функция fopen с модификатором r+ при отсутствии файла возвращает boolean значение false. Оно возвращается, но при этом выводится ошибка интерпретатора, которой быть не должно, если рассуждать с точки зрения правильности обработки данной ситуации.