Two possibilities:
1: add a condition to your .htaccess that allows access from your server. This could look like this:
RewriteCond %{REMOTE_ADDR} ^!1\.2\.3\.4$
(not tested, this is just to give you an idea).
2: Use direct paths on the filesystem.
Instead of
http://domain.dev/wp-content/uploads/2014/05/7.-APPROACH-TO-BLOGGERS-KOLs.pdf
use
/path/to/your/wordpressdir/wp-content/uploads/2014/05/7.-APPROACH-TO-BLOGGERS-KOLs.pdf
You can do this by just adding:
$path = str_replace("http://domain.dev", "/path/to/your/wordpressdir", $file);
I'd prefere this version, as it only adds overhead to download the files again over the httpd just to zip them.