PHP Conference Japan 2024

svn_ls

(PECL svn >= 0.1.0)

svn_ls返回存储库 URL 中目录内容的列表,可以选择在修订版本号处

描述

svn_ls(
    字符串 $repos_url,
    整数 $revision_no = SVN_REVISION_HEAD,
    布尔值 $recurse = false,
    布尔值 $peg = false
): 数组

此函数查询存储库 URL 并返回文件和目录列表,可以选择从特定修订版本中获取。这等效于 svn list $repos_url[@$revision_no]

注意:

此函数不适用于工作副本。repos_url 必须是存储库 URL。

参数

url

存储库的 URL,例如 http://www.example.com/svnroot。要通过文件系统访问本地 Subversion 存储库,请使用文件 URI 方案,例如 file:///home/user/svn-repos

revision

要检索其列表的整数修订版本号。省略时,将使用 HEAD 修订版本。

recurse

启用递归。

返回值

成功时,此函数将返回以下格式的文件列表数组

[0] => Array
    (
        [created_rev] => integer revision number of last edit
        [last_author] => string author name of last edit
        [size] => integer byte file size of file
        [time] => string date of last edit in form 'M d H:i'
                  or 'M d Y', depending on how old the file is
        [time_t] => integer unix timestamp of last edit
        [name] => name of file/directory
        [type] => type, can be 'file' or 'dir'
    )
[1] => ...

示例

示例 #1 svn_ls() 示例

<?php
print_r
( svn_ls('http://www.example.com/svnroot/') );
?>

以上示例将输出类似以下内容

Array
(
    [0] => Array
        (
            [created_rev] => 20
            [last_author] => Joe
            [size] => 0
            [time] => Apr 02 09:28
            [time_t] => 1175520529
            [name] => tags
            [type] => dir
        )
    [1] => Array
        (
            [created_rev] => 23
            [last_author] => Bob
            [size] => 0
            [time] => Apr 02 15:15
            [time_t] => 1175541322
            [name] => trunk
            [type] => dir
        )
)

备注

警告

此函数为实验性。此函数的行为、名称和周围文档可能会在 PHP 的未来版本中未经通知而更改。使用此函数需自行承担风险。

添加注释

用户贡献的注释 1 个注释

php thereatthe bluedream dotty tv
12 年前
请注意,该函数将为您设置路径;请勿自己执行此操作,否则会导致错误。

例如:路径中包含空格的路径不需要转义斜杠
<?php
svn_ls
('file:///var/svn/myrepo/dirA/another dir'); //将起作用->幸福
svn_ls('file:///var/svn/myrepo/dirA/another\ dir'); //将失败
?>
警告:svn_ls(): 发生 svn 错误 160013(文件系统中没有项目)URL 'file:///var/svn/myrepo/dirA/another\ dir' 在该修订版本中不存在,位于 file.php 的第 42 行
To Top