Viendo tu código veo un problema fundamental, recuerda que fopen() necesita la ruta con el archivo, si lo corres estando en el mismo dir por eso funciona pero si te sales del dir tienes que pasarle la ruta, prueba hacer un fopen($directorio .$archivo, 'r');
Saludos