svn_ls()
(PECL svn >= 0.1.0)
Returns list of directory contents in repository URL, optionally at revision number
说明
svn_ls(string $repos_url[,int $revision_no= SVN_REVISION_HEAD[,bool $recurse=FALSE[,bool $peg=FALSE]]]): array
This function queries the repository URL and returns a list of files and directories, optionally from a specific revision. This is equivalent to svn list $repos_url[@$revision_no]
Note:This function does not work with working copies.$repos_urlmustbe a repository URL.
参数
- $url
URL of the repository, eg.
http://www.example.com/svnroot. To access a local Subversion repository via filesystem, use the file URI scheme, eg.file:///home/user/svn-repos- $revision
Integer revision number to retrieve listing of. When omitted, the HEAD revision is used.
- $recurse
Enables recursion.
返回值
On success, this function returns an array file listing in the format of:
[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] => ...注释
Warning此函数是实验性的。此函数的表象,包括名称及其相关文档都可能在未来的PHP 发布版本中未通知就被修改。使用本函数风险自担。
范例
Example #1 svn_ls() example
<?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
)
)
参见
- » SVN documentation on svn list
Be aware that the function will condition the path for you; do not do it yourself or you will have resulting errors.
Ex: that paths with spaces in them do NOT need the escaping slash
<?php
svn_ls('file:///var/svn/myrepo/dirA/another dir'); //will work->happiness
svn_ls('file:///var/svn/myrepo/dirA/another\ dir'); //will fail
?>
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