给 has a few meanings
The basic meaning of 给 is "to give" e.g. "(给)我錢" = "(give) me money"
It can also mean "for" e.g. "(给)我把風" = "look out (for) me" which can be replaced with "替" as in "(替)我把風"
给 can also function as an 'target object marker'
in "给X拍照" , 'X' is the targeted object of the verb 拍照(take photo)
in "给公司打电话". '公司' is the targeted object of the verb 打电话 (make phone call to)
"给菜单拍照" is acceptable -- '给' marks '菜单' as the targeted object of the verb '拍照'
Since 菜单 is an inanimate object, '给' in "给菜单拍照" cannot mean "take photo for the menu" (menu can't want you to take photo in its stead)
And 拍照 is a verb, therefore '给' in"给菜单拍照" can't mean 'give' neither (first, menu can't accept anything; second, 拍照 is a verb, not an object to give)