本文整理汇总了PHP中PhingFile::getPrefixLength方法的典型用法代码示例。如果您正苦于以下问题:PHP PhingFile::getPrefixLength方法的具体用法?PHP PhingFile::getPrefixLength怎么用?PHP PhingFile::getPrefixLength使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PhingFile
的用法示例。
在下文中一共展示了PhingFile::getPrefixLength方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: resolveFile
function resolveFile(PhingFile $f)
{
$path = $f->getPath();
$pl = (int) $f->getPrefixLength();
if ($pl === 2 && $path[0] === $this->slash) {
return path;
// UNC
}
if ($pl === 3) {
return $path;
// Absolute local
}
if ($pl === 0) {
return (string) ($this->_getUserPath() . $this->slashify($path));
//Completely relative
}
if ($pl === 1) {
// Drive-relative
$up = (string) $this->_getUserPath();
$ud = (string) $this->_getDrive($up);
if ($ud !== null) {
return (string) $ud . $path;
}
return (string) $up . $path;
//User dir is a UNC path
}
if ($pl === 2) {
// Directory-relative
$up = (string) $this->_getUserPath();
$ud = (string) $this->_getDrive($up);
if ($ud !== null && StringHelper::startsWith($ud, $path)) {
return (string) ($up . $this->slashify(substr($path, 2)));
}
$drive = (string) $path[0];
$dir = (string) $this->_getDriveDirectory($drive);
$np = (string) "";
if ($dir !== null) {
/* When resolving a directory-relative path that refers to a
drive other than the current drive, insist that the caller
have read permission on the result */
$p = (string) $drive . (':' . $dir . $this->slashify(substr($path, 2)));
if (!$this->checkAccess($p, false)) {
// FIXME
// throw security error
die("Can't resolve path {$p}");
}
return $p;
}
return (string) $drive . ':' . $this->slashify(substr($path, 2));
//fake it
}
throw new Exception("Unresolvable path: " . $path);
}
示例2: isAbsolute
function isAbsolute(PhingFile $f)
{
return $f->getPrefixLength() !== 0;
}