本文整理汇总了PHP中ArticleFileManager::copyFile方法的典型用法代码示例。如果您正苦于以下问题:PHP ArticleFileManager::copyFile方法的具体用法?PHP ArticleFileManager::copyFile怎么用?PHP ArticleFileManager::copyFile使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ArticleFileManager
的用法示例。
在下文中一共展示了ArticleFileManager::copyFile方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: insertArticleFile
/**
* Inserts files into database, which have not been a temporary file before.
*@param $nameOfFile string
*@param $fileStage constant, ARTICLE_FILE_SUBMISSION or ARTICLE_FILE_SUPP
*@param $fileType string, txt/plain or application/pdf
*@param $article_id string
*@param $pathToFile string, path were to find the file which is inserted here
*/
function insertArticleFile($nameOfFile, $fileStage, $fileType, $article_id, $pathToFile, $origFileName = NULL)
{
import('classes.file.ArticleFileManager');
$articleFileManager = new ArticleFileManager($article_id);
$articleFileDao =& DAORegistry::getDAO('ArticleFileDAO');
$fileTypePath = $articleFileManager->typeToPath($fileStage);
$dir = $articleFileManager->filesDir . $fileTypePath . '/';
$articleFile =& $articleFileManager->generateDummyFile($articleFileManager->article);
$articleFile->setFileType($fileType);
if ($origFileName == NULL) {
$origFileName = $nameOfFile;
}
$articleFile->setOriginalFileName($origFileName);
$articleFile->setType($fileTypePath);
$articleFile->setRound($articleFileManager->article->getCurrentRound());
$articleFile->setAssocId(null);
$newFileName = $articleFileManager->generateFilename($articleFile, $fileStage, $articleFile->getOriginalFileName());
if (!$articleFileManager->copyFile($pathToFile . $nameOfFile, $dir . $newFileName)) {
// Delete the dummy file we inserted
$articleFileDao->deleteArticleFileById($articleFile->getFileId());
return false;
}
$articleFile->setFileSize(filesize($dir . $newFileName));
$articleFileDao->updateArticleFile($articleFile);
$articleFileManager->removePriorRevisions($articleFile->getFileId(), $articleFile->getRevision());
return $articleFile->getFileId();
}