te doy la idea
en vez de meter todos los usuarios en un archivo
crea una carpeta
/usuariosy por cada usuario registrado le creas un archivo de texto plano
/usuarios/pepe.txt/usuarios/juan.txtdentro de cada archivo le pones los datos como password u otros, puedes usar serializacion de datos que php trae como
serializebueno al momento del login lo que haces es usar las funciones nativas de PHP en base al OS
is_file()y si pasa la prueba de que existe el usuario recuperas los datos de ese usuario y comparas la contraseña del archivo con la variable del form
listo asunto resuelto
el disco duro es base de datos en si el mismo tiene la capacidad de indexar archivos,
ahora la seguridad lo mas importante ya qu manejas un sistema de archivos lo que tienes que hacer es que la carpeta
/usuarios tenga permisos de escritura y lectura solo para el grupo propietario a los demas grupos les quitas los privilegios de ver ,escribir y ejecutar
listo con ya esta tu peticion aparte de ser optimo asi podrias manejar millones de usuarios , y las busquedas serian mas velozes que metiendo todos los usuarios en un archivo