svn_ls

(PECL svn >= 0.1.0)

svn_ls返回存储库 URL 中的目录内容列表,可选地指定修订版本号

说明

svn_ls(
    string $repos_url,
    int $revision_no = SVN_REVISION_HEAD,
    bool $recurse = false,
    bool $peg = false
): array

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

注意:

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

参数

url

存储库的 URL,例如 http://www.example.com/svnroot。要通过文件系统访问本地 Subversion 存储库,请使用 file 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 条注释

0
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'); //将失败
?>
Warning: svn_ls(): svn error(s) occured 160013 (Filesystem has no item) URL 'file:///var/svn/myrepo/dirA/another\ dir' non-existent in that revision in file.php on line 42
To Top