Вы не можете защитить его, используя только PHP, но с помощью файла .htaccess это возможно.
Создайте файл .htaccess в каталоге, который вы хотите защитить, и поместите его вit:
Deny from all
Затем, чтобы создать скрипт PHP для доступа к файлам, вы можете сделать что-то вроде этого:
// Add user authentication code
$name = 'protected_dir/file.pdf';
$fp = fopen($name, 'rb');
header("Content-Type: application/pdf");
header("Content-Length: " . filesize($name));
fpassthru($fp);
exit;