Sube el archivo desde php y con el ftp revisa los permisos que tiene (los clientes ftp generalmente tienen esa opcion) habitualmente los expresan con numeros y aveces con casillas y an caso de no tener los permisos modificarlos.
Explico el significado primero los permisos se administran de las siguiente forma:
Lectura(Read),Escritura(Write),Ejecucion(eXecution )
traducido al estandar de UNIX es:
rwx
si se tiene permiso es la letra si no es un guion
r-x Lee y ejecuta mas no escribe
en binario seria (1 se tiene 0 no se tiene)
101 = 6
Ahora los permisos totales del archivo se expresan en 3 tiradas
Usuario,Grupo,Todos(Mundo y otros usuarios)
es decir si lo vemos asi el 744 seria
rwxr--r--
si php lo sube y queda algo asi
r-x------
no te permitira leerlo si no eres el propietario
para cambiarlo puedes emplear la funcon chmod de php
Código PHP:
chmod("/directorio/archivo", 744);
Esto solo en caso de que sea cuestion de permisos.