Un spider realmente funciona abriendo páginas y siguiendo los links de esta para ir recorriendo el sitio (así hace cualquier robot de un buscador). Pero no hace un "opendir" ...
Teniendo encuenta esto .. puedes usar file() .. o fopen() para abrir tus URL's de forma remota pero .. tendrás que aplicar expresiones regulares a lo que leas para ir buscando los "links" que apunten a otras páginas y así ir formando el "mapa" del sitio a base de esos links. Los archivos que no sean referenciados desde otras páginas no podrás accederlos (salvo que te sepas donde están y te montes un array para ir recorriendo las páginas que definas).
A todo esto te vendría bien "indexar" los resultados de las páginas que localices (al menos los links de los URL que encuentres) para acelerar las sub-siguientes busquedas.
Todo esto ya está "reinventado" .. visita sítios como
www.hotscripts.com por qué por ahí tienes ejemplos.
Un saludo,