Interessante, mas, deixa eu tirar algumas dúvidas, quando eu executo esta função ela cria um arquivo de atalho ou apenas um link "simbólico"?
Como qualquer atalho do Windows, ele cria um arquivo de atalho (extensão LNK).
A propósito, por padrão, não existe link simbólico no Windows, só existirá se tu instalar a ferramenta
Junction de Mark Russinovich, que aliás, é apenas para plataformas baseadas no NT. No caso de diretórios, poderia ser utilizado o recurso de mapeamento de unidades, mas mesmo assim não seria lá aquelas coisas, uma vez que há um limite muito pequeno para isso, sem contar a impossibilidade de se trabalhar com arquivos.
Se ela cria arquivo de atalho, quando eu for acessar o arquivo "X" eu devo apontar para o atalho assim:
filesize("ENDERECO_DO_ATALHO")
Isso me daria as informações relativas ao arquivo (tamanho em bytes)?
Quando eu quiser fazer o download do arquivo usando header() eu posso apontar para o atalho? Isso iria forçar o download do atalho ou do arquivo?
Todas funções iriam trabalhar com o atalho, e não com o arquivo de destino. Para tal, tu teria de, após identificar o atalho, ler o
target dele. Isto seria basicamente assim:
<?php
function getShortcutPath($path)
{
$shl = new COM('WScript.Shell');
$shortcut = $shl->CreateShortcut($path);
return $shortcut->TargetPath;
}
print getShortcutPath('C:\Atalho.lnk');
?>
[]s
Até mais