At times on a shared host you may not be able to use a symbolic link. I sometimes just display from a folder outside of web folder:
<?php
$basedir = '/some_folder/images'; // on hard drive
$imagedir = $_GET['dir'];
$image = $_GET['img'];
$file = $basedir.'/'.$imagedir.'/'.$image;
header('Content-Type: image/jpeg');
ob_clean();
readfile($file);
exit(0);
?>
Note '/some_folder/images' name with your folder names.
<img src="<?php echo 'http://site.com/project/DisplayImage.php?dir=imgdogs&img=' . $row->dogpic; ?>" alt="" class="image">
Where imgdogs is a subfolder under images. Change names as needed.
And note, it's a basic example, You can enhance it by filtering allowed file types, limit size if needed, etc.
Example of file types:
To get size:
And you can put custom headers:
Above are just examples.