por favor, ¿tan claro el error y no lo ves?
fopen() devuelve un
#resource y no un
string, que justamente eso advierte el error...
te invito a leer el manual de cada una de las funciones que utilizas, eso te ayudará a comprender los tipos de datos involucrados en cada una de ellas, que ahí es donde tienes problemas...