sous linux , pour définir un fichier dit "caché" il te suffit de le nommer avec un point devant exemple :
.monfichiercaché.txt
Ensuite , les fichiers sont "normaux" , tu peux donc trouver dans la majorité des cas , des fichiers standard et des liens qui pointent vers des fichiers physiquement là ..
sinon , tu peux aussi avoir :
un fichier type socket
un pipe nommé
un fichier spécial (de périphérique) en mode bloc
un fichier spécial (de périphérique) en mode caractère
Puisque tu connais la fonction DOS pour réaliser ce que tu veux faire, il te suffit de l'appeler via PHP avec les fonctions system() ou exec() car à ma connaissance il n'y a pas de fonction PHP directement équivalente à ATTRIB http://fr.php.net/exec http://fr.php.net/system
Quand tout le reste a échoué, lisez le mode d'emploi...