3v4l.org

run code in 300+ PHP versions simultaneously
<?php function test($DIRECTORY_SEPARATOR, $source, $path, $expected) { $folder = str_replace(rtrim($source, $DIRECTORY_SEPARATOR), '', dirname($path)); echo "Expected: $expected\n"; echo "Actual: $folder\n"; echo "--------------\n"; } test('/', '/site/path', '/site/path/backed/up/item.txt', '/backed/up'); test('/', '/site/path/', '/site/path/backed/up/item.txt', '/backed/up'); test('\\', 'C:\\site\\path', 'C:/site/path/backed/up/item.txt', '/backed/up'); test('\\', 'C:\\site\\path\\', 'C:/site/path/backed/up/item.txt', '/backed/up'); test('\\', 'C:/site/path', 'C:/site/path/backed/up/item.txt', '/backed/up'); test('\\', 'C:/site/path/', 'C:/site/path/backed/up/item.txt', '/backed/up');

preferences:
62.63 ms | 402 KiB | 5 Q