You kind of have to give up the notion that the photon goes through a slit.

A striking illustration of this is given by the setup diagrammed in this image: http://imgur.com/UlFU7oi

You have a source of photons at the bottom. It fires them them at a half-silvered mirror. When a photon hits a half-silvered mirror, it randomly either reflects or passes through. The first half-silvered mirror splits the photon beam into two beams, labeled 1 and 3. Beam 1 hits a regular mirror, which sends it down path 2 toward another half-silvered mirror. Beam 3 hits a regular mirror which sends it down path 4 to that second half-silvered mirror.

At the second half-silvered mirror, photons coming in on path 2 can either pass through and be registered at detector B, or reflect and be registered at detector A.

Photons on path 4 can reflect into detector B, or pass through into detector A.

Start out with the source at high intensity, so we have a lot of photons, and can treat the light like a wave. The distances of the paths can be adjusted so that light on path 2 that passes through to B is out of phase with light on path 4 that reflects into B, and so we get destructive interference and B detects nothing. We get constructive interference on path 5, so all the light ends up at detector A.

Now, keeping the light at high intensity, block path 4 at the point labeled "test point". Now half the light leaving the source takes path 3 and gets blocked at the test point. The other half of the light takes 1 and 2, splits at the second half-silvered mirror, and since there is no light on path 4 there to interfere, half of the light from path 2 goes to A and half to B. Net result: 1/2 the light lost at the test point, 1/4 detected at A, and 1/4 detected at B.

Now, leaving the block in place at the test point, turn the light source down so that it is emitting single photons, say a photon a second. What we will now find is that 1/2 the photons get lost (the ones that took path 3 and 4, and hit the block), 1/4 end up at A (the ones that took 1 and 2, then reflected at the half-silvered mirror), and 1/4 end up at B (the ones that took 1 and 2 and then passed through the half-silvered mirror).

So far, everything makes intuitive sense.

Now remove the block. Intuition says that we should have 1/2 the photons take 1 and 2, and 1/2 take 3 and 4. The photons, when they arrive at the second half-silvered mirror, should end up distributed equally to A and B. So we should see 1/2 the emitted photons at A and 1/2 at B.

What actually happens is that they all end up at A.

How can this be? We are somehow getting interference even though we are only sending single photons through!

This lets us do something remarkable. Suppose I have been playing with the equipment, and left it in an unknown state. You don't know if I have the block at the test point or not, and it is inconvenient to reach the test point to check.

So you send a single photon through, and it happens to register at B. You can infer that I left the block in, because if I had taken it out, there would have been interference and the photon would have come out at A.

Think about that...the photon came out at B, meaning it did not hit the block, meaning it had to have taken that 1/2/6 path...but then how did it "know" that the block was in place so that it was "allowed" to randomly take 5 or 6 (and ended up taking 6)?

If you remove the block and then send one photon, and it takes 1/2, and then has to "decide" whether to take 5 or 6, how does it know that the block is gone and so that it is required to take 5?

It just doesn't work to say that the photon takes a path, in the sense that it starts out at one place on that path, and as time goes forward it moves along the path.

If you want more information on this particular setup, Google for "quantum bomb tester" (the name comes from a hypothetical where you have a bunch of light sensitive bombs, but some of them have defective light sensors, and you want to find a way to figure that out without destroying all the working bombs, and this kind of split path setup provides a solution--letting you answer the question "would this bomb explode if I hit it with a photon?" without actually hitting it with a photon).