$httpdir="http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
ça me donne a peu près ce que je veux à savoir
http://localhost/dossier/monfichier.php
j'ai plus qu'à rajouter un substr() pour enlever le nom du fichier.
Mais je trouve que ça fait bricolo pour une fonction qui a mon avis est assez indispensable, surtout quand on veut faire des includes sans se soucier du chemin relatif.