Browser-based identification? PHP you are talking about here won't help - it's server based. Within the browser, you have no access to the files and such on the client machine. That defies the entire idea of the browser security. That's what ActiveX did before, MS had removed that in the IE7 AFAIK. You said you don't want cookies - sorry, that is the only way to persist anything on the client machine via browser. You can technically develop a Shockwave (SWF) file which will have certain access to the machine. AFAIK, it runs on all platforms. I'm not familiar with the design of that thing, but I've seen it screwing up some machines pretty badly trying to retrieve some local info from registry and other things. However, I have no idea if you will be able to communicate that information to the Browser session. Good luck.
what kind or project is this? the best way to do this is with a login/password, all the other ideas here can be "hacked" by the user if they just know how your system works. if you use microsoft and this domain controller and each user must logon to your server, then you can request the username/computername on a IIS via ASP (and probably .NET), but this only works on your local net. another idea is to request all the useless browser variables like color depth, screen resolution, browser string, language etc, tie them all together to a string, get the md5 from this string and use this as your ID.
What if you made an md5 or sha1 value based on the IP address, User Agent, and Cookie values of your client combined, then compare that to what it should be. If they match, voila.