本文整理汇总了PHP中PhingFile::getParentFile方法的典型用法代码示例。如果您正苦于以下问题:PHP PhingFile::getParentFile方法的具体用法?PHP PhingFile::getParentFile怎么用?PHP PhingFile::getParentFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PhingFile
的用法示例。
在下文中一共展示了PhingFile::getParentFile方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: copyFile
/**
* Copies a file using filter chains.
*
* @param PhingFile $sourceFile
* @param PhingFile $destFile
* @param boolean $overwrite
* @param boolean $preserveLastModified
* @param array $filterChains
* @param Project $project
* @return void
*/
function copyFile(PhingFile $sourceFile, PhingFile $destFile, $overwrite = false, $preserveLastModified = true, &$filterChains = null, Project $project)
{
if ($overwrite || !$destFile->exists() || $destFile->lastModified() < $sourceFile->lastModified()) {
if ($destFile->exists() && $destFile->isFile()) {
$destFile->delete();
}
// ensure that parent dir of dest file exists!
$parent = $destFile->getParentFile();
if ($parent !== null && !$parent->exists()) {
$parent->mkdirs();
}
if (is_array($filterChains) && !empty($filterChains)) {
$in = self::getChainedReader(new BufferedReader(new FileReader($sourceFile)), $filterChains, $project);
$out = new BufferedWriter(new FileWriter($destFile));
// New read() methods returns a big buffer.
while (-1 !== ($buffer = $in->read())) {
// -1 indicates EOF
$out->write($buffer);
}
if ($in !== null) {
$in->close();
}
if ($out !== null) {
$out->close();
}
} else {
// simple copy (no filtering)
$sourceFile->copyTo($destFile);
}
if ($preserveLastModified) {
$destFile->setLastModified($sourceFile->lastModified());
}
}
}
示例2: copyFile
function copyFile(PhingFile $sourceFile, PhingFile $destFile, $overwrite = false, $preserveLastModified = true, &$filterChains = null, Project $project)
{
// writes to tmp file first, then rename it to avoid file locking race
// conditions
$parent = $destFile->getParentFile();
$tmpFile = new PhingFile($parent, substr(md5(time()), 0, 8));
parent::copyFile($sourceFile, $tmpFile, $overwrite, $preserveLastModified, $filterChains, $project);
$tmpFile->renameTo($destFile);
}
示例3: copyFile
/**
* Copies a file using filter chains.
*
* @param PhingFile $sourceFile
* @param PhingFile $destFile
* @param boolean $overwrite
* @param boolean $preserveLastModified
* @param array $filterChains
* @param Project $project
* @param integer $mode
* @param bool $preservePermissions
*
* @throws Exception
* @throws IOException
* @return void
*/
public function copyFile(PhingFile $sourceFile, PhingFile $destFile, $overwrite = false, $preserveLastModified = true, &$filterChains = null, Project $project, $mode = 0755, $preservePermissions = true)
{
if ($overwrite || !$destFile->exists() || $destFile->lastModified() < $sourceFile->lastModified()) {
if ($destFile->exists() && $destFile->isFile()) {
$destFile->delete();
}
// ensure that parent dir of dest file exists!
$parent = $destFile->getParentFile();
if ($parent !== null && !$parent->exists()) {
// Setting source directory permissions to target
// (On permissions preservation, the target directory permissions
// will be inherited from the source directory, otherwise the 'mode'
// will be used)
$dirMode = $preservePermissions ? $sourceFile->getParentFile()->getMode() : $mode;
$parent->mkdirs($dirMode);
}
if (is_array($filterChains) && !empty($filterChains)) {
$in = self::getChainedReader(new BufferedReader(new FileReader($sourceFile)), $filterChains, $project);
$out = new BufferedWriter(new FileWriter($destFile));
// New read() methods returns a big buffer.
while (-1 !== ($buffer = $in->read())) {
// -1 indicates EOF
$out->write($buffer);
}
if ($in !== null) {
$in->close();
}
if ($out !== null) {
$out->close();
}
// Set/Copy the permissions on the target
if ($preservePermissions === true) {
$destFile->setMode($sourceFile->getMode());
}
} else {
// simple copy (no filtering)
$sourceFile->copyTo($destFile);
// By default, PHP::Copy also copies the file permissions. Therefore,
// re-setting the mode with the "user file-creation mask" information.
if ($preservePermissions === false) {
$destFile->setMode(FileUtils::getDefaultFileCreationMask(false, true));
}
}
if ($preserveLastModified && !$destFile->isLink()) {
$destFile->setLastModified($sourceFile->lastModified());
}
}
}
示例4: renameFile
/**
* Attempts to rename a file from a source to a destination.
* If overwrite is set to true, this method overwrites existing file
* even if the destination file is newer.
* Otherwise, the source f
* ile is renamed only if the destination file #
* is older than it.
*/
private function renameFile(PhingFile $sourceFile, PhingFile $destFile, $overwrite)
{
$renamed = true;
// ensure that parent dir of dest file exists!
$parent = $destFile->getParentFile();
if ($parent !== null) {
if (!$parent->exists()) {
$parent->mkdirs();
}
}
if ($destFile->exists()) {
try {
$destFile->delete();
} catch (Exception $e) {
throw new BuildException("Unable to remove existing file " . $destFile->__toString() . ": " . $e->getMessage());
}
}
$renamed = $sourceFile->renameTo($destFile);
return $renamed;
}
示例5: setFile
public function setFile(PhingFile $file)
{
$this->setDir($file->getParentFile());
$this->createInclude()->setName($file->getName());
}