According to R.P. Feynman Photons have a probability amplitude to move from a source to a detector. It appears to move in a straight line only because that is where the Highest Area of probability for the amplitude of an event is. Interestingly enough for any given photon moving between Source A and Detector B in order to calculate the Probability Amplitude correctly you must determine how many ways there are for a Photon to get from A to B. Most of the "paths" that a photon may take from Source A to Detector B are very small percentages of probability and each of those paths can and must have an opposite path so that if we define a path from A to C to B then there must be a path from A to -C to B and of course these paths cancel each other out it is only in the area of least energy where the paths become "straighter" that the Probability Amplitudes begin to reinforce rather than cancel i.e. where there is less "turning of the arrows", see QED the strange theory of light and matter for a full discussion of this, and thus photons have a "tendency" to travel in linear directions it is only the Area of the Probability Amplitude for an event that gives a wave like motion to a photon.
Btw I am on my 5th reread of QED and I still have trouble with much of it
So I may have buggered this response up quite badly so those with more learning and knowledge please feel free to correct me
hth