Demo



    $tests =[
        'neko',
        'neko/',
        'animal/neko',
        'x/animal/neko/',
    ];
    
    echo "<table class='tbl2'><thead><tr><th>元データ</th><th>末尾のセパレータ無し</th><th>末尾のセパレータ有り</th></tr></thead><tbody>";
    foreach($tests as $dp){
        echo "<tr>";
        echo "<td>{$dp}</td>";
        
        $dp1 = dpEndSp($dp);
        echo "<td>{$dp1}</td>";
        
        $dp2 = dpEndSp($dp, true);
        echo "<td>{$dp2}</td>";
        
        echo "</tr>";
    }
    echo "</tbody></table>";
    
    
    /**
     * ディレクトリパスの末尾のセパレータを除去、もしくは追加 
     * @param string $dp ディレクトリパス
     * @param boolean $end_sep_flg false:セパレータ除去(def), true:セパレータ追加
     * @param string $sep セパレータ
     * @return string ディレクトリパス
     */
    function dpEndSp($dp, $end_sep_flg=false, $sep ='/'){
        
        if(empty($dp)) return '';
        
        $e_s = mb_substr($dp, -1);
        if($e_s==$sep && $end_sep_flg==false ){
            $dp = mb_substr($dp, 0, mb_strlen($dp)-1);
        }elseif($e_s!=$sep && $end_sep_flg==true ){
            $dp .= $sep;
        }
        
        return $dp;
    }
元データ末尾のセパレータ無し末尾のセパレータ有り
nekonekoneko/
neko/nekoneko/
animal/nekoanimal/nekoanimal/neko/
x/animal/neko/x/animal/nekox/animal/neko/