Step 1: Create a new image with a white background and height set to at least double the height of the image you want to add the reflection to. An even longer height is better. The width doesn't matter so much, as long as it is the same width as the image, or more.
Step 2: Open up the image you want to reflect. Copy it over to the blank image. This is usually done by selecting the image using the Rectangular Marquee tool, and then copying and pasting it onto the new image.
Step 3: Move your image to the top half of the canvas.
Step 4: Duplicate the image layer and flip it vertically (Edit > Transform > Flip Vertically). Now the duplicated layer down to the bottom half of the canvas, and set it so the top of the duplicated image is almost touching the bottom of the original image.
Step 5: Set the duplicated layer's opacity to 35%. Now click the add layer mask button
to apply a layer mask to the duplicated image.
Step 6: Set your gradient tool to black-transparent. While holding shift, click-and-drag from either the bottom of the duplicated image or the bottom of your canvas to the top of your duplicated image. Final product:

