Esta bien, pero tu código a pesar que verifica la extención esta puede ser disfrazada y subirte otro tipo de archivos, por eso es importante verificar también el mime type, para eso puedes utilizar
finfo para determinar que el archivo que están subiendo en realidad sea lo que dicen que es (una imagen en este caso)