本文整理汇总了PHP中CTempFile::getFileName方法的典型用法代码示例。如果您正苦于以下问题:PHP CTempFile::getFileName方法的具体用法?PHP CTempFile::getFileName怎么用?PHP CTempFile::getFileName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CTempFile
的用法示例。
在下文中一共展示了CTempFile::getFileName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: processActionCommit
protected function processActionCommit()
{
$this->checkRequiredPostParams(array('editSessionId'));
if ($this->errorCollection->hasErrors()) {
$this->sendJsonErrorResponse();
}
$this->checkUpdatePermissions();
$currentSession = $this->getEditSessionByCurrentUser((int) $this->request->getPost('editSessionId'));
if (!$currentSession) {
$this->errorCollection->add(array(new Error(Loc::getMessage('DISK_DOC_CONTROLLER_ERROR_COULD_NOT_FIND_EDIT_SESSION'), self::ERROR_COULD_NOT_FIND_EDIT_SESSION)));
$this->sendJsonErrorResponse();
}
$tmpFile = \CTempFile::getFileName(uniqid('_wd'));
checkDirPath($tmpFile);
$fileData = new FileData();
$fileData->setId($currentSession->getServiceFileId());
$fileData->setSrc($tmpFile);
$newNameFileAfterConvert = null;
if ($this->documentHandler->isNeedConvertExtension($this->file->getExtension())) {
$newNameFileAfterConvert = getFileNameWithoutExtension($this->file->getName()) . '.' . $this->documentHandler->getConvertExtension($this->file->getExtension());
$fileData->setMimeType(TypeFile::getMimeTypeByFilename($newNameFileAfterConvert));
} else {
$fileData->setMimeType(TypeFile::getMimeTypeByFilename($this->file->getName()));
}
$fileData = $this->documentHandler->downloadFile($fileData);
if (!$fileData) {
if ($this->documentHandler->isRequiredAuthorization()) {
$this->sendNeedAuth();
}
$this->errorCollection->add($this->documentHandler->getErrors());
$this->sendJsonErrorResponse();
}
$this->deleteEditSession($currentSession);
$oldName = $this->file->getName();
//rename in cloud service
$renameInCloud = $fileData->getName() && $fileData->getName() != $this->file->getName();
if ($newNameFileAfterConvert || $renameInCloud) {
if ($newNameFileAfterConvert && $renameInCloud) {
$newNameFileAfterConvert = getFileNameWithoutExtension($fileData->getName()) . '.' . getFileExtension($newNameFileAfterConvert);
}
$this->file->rename($newNameFileAfterConvert);
}
$fileArray = \CFile::makeFileArray($tmpFile);
$fileArray['name'] = $this->file->getName();
$fileArray['type'] = $fileData->getMimeType();
$fileArray['MODULE_ID'] = Driver::INTERNAL_MODULE_ID;
/** @noinspection PhpDynamicAsStaticMethodCallInspection */
$fileId = \CFile::saveFile($fileArray, Driver::INTERNAL_MODULE_ID);
if (!$fileId) {
\CFile::delete($fileId);
$this->errorCollection->add(array(new Error(Loc::getMessage('DISK_DOC_CONTROLLER_ERROR_COULD_NOT_SAVE_FILE'), self::ERROR_COULD_NOT_SAVE_FILE)));
$this->sendJsonErrorResponse();
}
$versionModel = $this->file->addVersion(array('ID' => $fileId, 'FILE_SIZE' => $fileArray['size']), $this->getUser()->getId(), true);
if (!$versionModel) {
\CFile::delete($fileId);
$this->errorCollection->add(array(new Error(Loc::getMessage('DISK_DOC_CONTROLLER_ERROR_COULD_NOT_ADD_VERSION'), self::ERROR_COULD_NOT_ADD_VERSION)));
$this->errorCollection->add($this->file->getErrors());
$this->sendJsonErrorResponse();
}
if ($this->isLastEditSessionForFile()) {
$this->deleteFile($currentSession, $fileData);
}
$this->sendJsonSuccessResponse(array('objectId' => $this->file->getId(), 'newName' => $this->file->getName(), 'oldName' => $oldName));
}
示例2: uploadChunk
/**
* Uploads new chunk from cloud drive if necessary.
* @param Entry $entry Cloud import entry.
* @return bool
*/
public function uploadChunk(Entry $entry)
{
$tmpFile = \CTempFile::getFileName(uniqid('_wd', true));
checkDirPath($tmpFile);
$fileData = new Document\FileData();
$fileData->setId($entry->getServiceObjectId());
$fileData->setMimeType($entry->getMimeType());
$fileData->setSrc($tmpFile);
$chunkSize = self::CHUNK_SIZE;
$downloadedContentSize = $entry->getDownloadedContentSize();
$contentSize = $entry->getContentSize();
if ($contentSize == 0 && $this->documentHandler instanceof Document\GoogleHandler) {
return $this->uploadEmptyFileFromGoogle($entry, $fileData);
}
if ($contentSize - $downloadedContentSize < $chunkSize) {
$chunkSize = $contentSize - $downloadedContentSize;
}
$startRange = $downloadedContentSize;
if (!$this->documentHandler->downloadPartFile($fileData, $startRange, $chunkSize)) {
$this->errorCollection->add($this->documentHandler->getErrors());
return false;
}
$token = null;
if ($entry->getTmpFile() && $entry->getTmpFile()->getToken()) {
//todo it's strange, fix it
$token = $entry->getTmpFile()->getToken();
}
$uploadFileManager = new Bitrix24Disk\UploadFileManager();
$uploadFileManager->setTmpFileClass(TmpFile::className())->setUser($this->documentHandler->getUserId())->setFileSize($contentSize)->setToken($token)->setContentRange(array($startRange, $startRange + $chunkSize - 1));
$tmpFileArray = \CFile::makeFileArray($tmpFile);
if (!$uploadFileManager->upload($fileData->getId(), $tmpFileArray)) {
$this->errorCollection->add($uploadFileManager->getErrors());
return false;
}
if ($token === null) {
$entry->linkTmpFile(TmpFile::load(array('=TOKEN' => $uploadFileManager->getToken())));
}
return $entry->increaseDownloadedContentSize($chunkSize);
}