For a one-to-many relation, your second take is the standard, normal, correct way of doing it.
However, are you entirely sure that the many-to-many relation you sketched in your first take doesn't apply? I would not be as certain, but you know your domain better than I.
EDIT:
The OP added a comment;
Thanks. I really don't believe photos should ever belong to more than one event - events are photo shoots, each photo is by definition from a certain shoot, and view by event is the only way to browse the site. I'm pretty confident one-to-many is correct.
There are several lessons in that comment, so I wanted to edit this to underline those lessons.
Observation 1. The most important is that you can't model a schema without knowing two things: the real problem domain being modeled, and what our solution requires of the model.
My initial guess was that the OP's events and pictures were modeling the display of photos at events, as in an art gallery (or a gallery of pictures on a web site). In that case, e.g., the Ansel Adams Online Gallery might very well have events, in which Ansel Adams photos are shown, titled "Adams' Mature Work", "Adams's Photos of Structures", or "Adams's Photos of Deserts". All three events might include the Adam's "Transmission Lines in the Mohave Desert", 1941. Since many photos could be shown in many events, we'd need a many-to-many structure.
But the OP's "event" is a photo shoot, and clearly, as the OP notes, any one photo is taken in one and ony one photo shoot.
The lesson here is that we can't model (or can only model provisionally) until we know the Problem Domain.
I'd also suggest that the table name "events" be changed, to make this ore explicit. Calling it a "shoot" or "photo_shoot" makes it more clear what we are modeling.
Observation 2. The OP's comment provides an answer to his objection that having an event FK in a photo is "messy". The OP pretty astutely realizes that this "does avoid a join, and it forces the relationship to a 'has one/belongs to' instead of 'has many'". (Avoiding a join is an implementation issue, the correct relationship is more fundamental, as it is a modeling question.)
What he should also realize is that in our solution, and in the Problem Domain, it makes sense to ask of a photo, "in what photo session/event was this photo taken". And that's why it's not messy: "in which session taken' is a legitimate question about or attribute of a photo, and the FK provides the answer to that question. It also means that in this case, the FK from photo to event shouldn't be nullable: a photo must have an a photo session, or else there could be no photo.
(There are a couple of additional lessons here, about what it means to have a a one-to-many relationship or a many-to-many, and what it means to to make an FK nullable or not; I'll leve those to another time.)