Ich hab zwar noch nix mit PHP gemacht, aber ich schätze $pfad{strlen($pfad)-1} liefert nicht das letzte, sondern sondern das Vorletzte Zeichen aus der Zeichenkette.
Also versuche mal:
$pfad = "/srv/blubb/test/";
$letztes = $pfad{strlen($pfad)};
if($letztes != "/")
$pfad = $pfad . "/"...