Cross Platform Directory Slashes In PHP

22nd October 2009

I'm not sure where I found this, but I have been using it on a few projects recently and it's helped a lot. It basically detects what system you are on and will give you a constant that keeps hold of the slash for that system.

  1. if (strtoupper(substr(PHP_OS,0,3)) == 'WIN') {
  2. // Windows
  3. define('SLASH', '\\');
  4. } else {
  5. // Linux/Unix
  6. define('SLASH', '/');
  7. }

For example, on a Windows system a file might be in C:\folders\data\, whereas on Linux the file would be in /folders/data/. So if you are given the full path as a string it can be difficult to separate the filename from the directory without knowing what system you are on.

Comments

Permalink
Isn't that what DIRECTORY_SEPARATOR does?

John (Wed, 12/23/2009 - 22:34)

Add new comment

The content of this field is kept private and will not be shown publicly.