本文整理汇总了PHP中FSFile::getPath方法的典型用法代码示例。如果您正苦于以下问题:PHP FSFile::getPath方法的具体用法?PHP FSFile::getPath怎么用?PHP FSFile::getPath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FSFile
的用法示例。
在下文中一共展示了FSFile::getPath方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getLocalRefPath
/**
* Get an FS copy or original of this file and return the path.
* Returns false on failure. Callers must not alter the file.
* Temporary files are cleared automatically.
*
* @return string|false
*/
public function getLocalRefPath()
{
$this->assertRepoDefined();
if (!isset($this->fsFile)) {
$this->fsFile = $this->repo->getLocalReference($this->getPath());
if (!$this->fsFile) {
$this->fsFile = false;
// null => false; cache negative hits
}
}
return $this->fsFile ? $this->fsFile->getPath() : false;
}
示例2: publishTo
/**
* Move or copy a file to a specified location. Returns a FileRepoStatus
* object with the archive name in the "value" member on success.
*
* The archive name should be passed through to recordUpload for database
* registration.
*
* @param string|FSFile $src Local filesystem path or virtual URL to the source image
* @param string $dstRel Target relative path
* @param int $flags A bitwise combination of:
* File::DELETE_SOURCE Delete the source file, i.e. move rather than copy
* @param array $options Optional additional parameters
* @return FileRepoStatus On success, the value member contains the
* archive name, or an empty string if it was a new file.
*/
function publishTo($src, $dstRel, $flags = 0, array $options = [])
{
$srcPath = $src instanceof FSFile ? $src->getPath() : $src;
$repo = $this->getRepo();
if ($repo->getReadOnlyReason() !== false) {
return $this->readOnlyFatalStatus();
}
$this->lock();
// begin
$archiveName = wfTimestamp(TS_MW) . '!' . $this->getName();
$archiveRel = 'archive/' . $this->getHashPath() . $archiveName;
if ($repo->hasSha1Storage()) {
$sha1 = $repo->isVirtualUrl($srcPath) ? $repo->getFileSha1($srcPath) : FSFile::getSha1Base36FromPath($srcPath);
$dst = $repo->getBackend()->getPathForSHA1($sha1);
$status = $repo->quickImport($src, $dst);
if ($flags & File::DELETE_SOURCE) {
unlink($srcPath);
}
if ($this->exists()) {
$status->value = $archiveName;
}
} else {
$flags = $flags & File::DELETE_SOURCE ? LocalRepo::DELETE_SOURCE : 0;
$status = $repo->publish($srcPath, $dstRel, $archiveRel, $flags, $options);
if ($status->value == 'new') {
$status->value = '';
} else {
$status->value = $archiveName;
}
}
$this->unlock();
// done
return $status;
}