Да, вы можете сделать это.Псевдокод для функции, которая будет делать это, может выглядеть следующим образом:
function downloadLinks($url, $directory = './')
$contents <- HTML of $url
$links <- parse $contents and extract URLs to files and directories
if $directory does not exist
mkdir($directory)
foreach $links as $link
if $link is a directory
downloadLinks($url . $link, $directory . $link)
else
downloadFile($url, $directory . $filename)
downloadLinks('http://example.com/')