本文整理汇总了PHP中F::File_Delete方法的典型用法代码示例。如果您正苦于以下问题:PHP F::File_Delete方法的具体用法?PHP F::File_Delete怎么用?PHP F::File_Delete使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类F
的用法示例。
在下文中一共展示了F::File_Delete方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Delete
/**
* Deletes file from storage
*
* @param string $sFile
*
* @return bool
*/
public function Delete($sFile)
{
if (strpos($sFile, '*')) {
$bResult = F::File_DeleteAs($sFile);
} else {
$bResult = F::File_Delete($sFile);
}
if ($bResult) {
// if folder is empty then remove it
if (!F::File_ReadDir($sDir = dirname($sFile))) {
F::File_RemoveDir($sDir);
}
}
return $bResult;
}
示例2: processTopicFields
/**
* Обработка дополнительных полей топика
*
* @param ModuleTopic_EntityTopic $oTopic
* @param string $sType
*
* @return bool
*/
public function processTopicFields($oTopic, $sType = 'add')
{
/** @var ModuleTopic_EntityContentValues $aValues */
$aValues = array();
if ($sType == 'update') {
// * Получаем существующие значения
if ($aData = $this->GetTopicValuesByArrayId(array($oTopic->getId()))) {
$aValues = $aData[$oTopic->getId()];
}
// * Чистим существующие значения
E::ModuleTopic()->DeleteTopicValuesByTopicId($oTopic->getId());
}
if ($oType = E::ModuleTopic()->GetContentTypeByUrl($oTopic->getType())) {
//получаем поля для данного типа
if ($aFields = $oType->getFields()) {
foreach ($aFields as $oField) {
$sData = null;
if (isset($_REQUEST['fields'][$oField->getFieldId()]) || isset($_FILES['fields_' . $oField->getFieldId()]) || $oField->getFieldType() == 'single-image-uploader') {
//текстовые поля
if (in_array($oField->getFieldType(), array('input', 'textarea', 'select'))) {
$sData = E::ModuleText()->Parser($_REQUEST['fields'][$oField->getFieldId()]);
}
//поле ссылки
if ($oField->getFieldType() == 'link') {
$sData = $_REQUEST['fields'][$oField->getFieldId()];
}
//поле даты
if ($oField->getFieldType() == 'date') {
if (isset($_REQUEST['fields'][$oField->getFieldId()])) {
if (F::CheckVal($_REQUEST['fields'][$oField->getFieldId()], 'text', 6, 10) && substr_count($_REQUEST['fields'][$oField->getFieldId()], '.') == 2) {
list($d, $m, $y) = explode('.', $_REQUEST['fields'][$oField->getFieldId()]);
if (@checkdate($m, $d, $y)) {
$sData = $_REQUEST['fields'][$oField->getFieldId()];
}
}
}
}
//поле с файлом
if ($oField->getFieldType() == 'file') {
//если указано удаление файла
if (F::GetRequest('topic_delete_file_' . $oField->getFieldId())) {
if ($oTopic->getFieldFile($oField->getFieldId())) {
@unlink(Config::Get('path.root.dir') . $oTopic->getFieldFile($oField->getFieldId())->getFileUrl());
//$oTopic->setValueField($oField->getFieldId(),'');
$sData = null;
}
} else {
//если удаление файла не указано, уже ранее залит файл^ и нового файла не загружалось
if ($sType == 'update' && isset($aValues[$oField->getFieldId()])) {
$sData = $aValues[$oField->getFieldId()]->getValueSource();
}
}
if (isset($_FILES['fields_' . $oField->getFieldId()]) && is_uploaded_file($_FILES['fields_' . $oField->getFieldId()]['tmp_name'])) {
$iMaxFileSize = F::MemSize2Int(Config::Get('module.uploader.files.default.file_maxsize'));
$aFileExtensions = Config::Get('module.uploader.files.default.file_extensions');
if (!$iMaxFileSize || filesize($_FILES['fields_' . $oField->getFieldId()]['tmp_name']) <= $iMaxFileSize) {
$aPathInfo = pathinfo($_FILES['fields_' . $oField->getFieldId()]['name']);
if (!$aFileExtensions || in_array(strtolower($aPathInfo['extension']), $aFileExtensions)) {
$sFileTmp = $_FILES['fields_' . $oField->getFieldId()]['tmp_name'];
$sDirSave = Config::Get('path.uploads.root') . '/files/' . E::ModuleUser()->GetUserCurrent()->getId() . '/' . F::RandomStr(16);
mkdir(Config::Get('path.root.dir') . $sDirSave, 0777, true);
if (is_dir(Config::Get('path.root.dir') . $sDirSave)) {
$sFile = $sDirSave . '/' . F::RandomStr(10) . '.' . strtolower($aPathInfo['extension']);
$sFileFullPath = Config::Get('path.root.dir') . $sFile;
if (copy($sFileTmp, $sFileFullPath)) {
//удаляем старый файл
if ($oTopic->getFieldFile($oField->getFieldId())) {
$sOldFile = Config::Get('path.root.dir') . $oTopic->getFieldFile($oField->getFieldId())->getFileUrl();
F::File_Delete($sOldFile);
}
$aFileObj = array();
$aFileObj['file_hash'] = F::RandomStr(32);
$aFileObj['file_name'] = E::ModuleText()->Parser($_FILES['fields_' . $oField->getFieldId()]['name']);
$aFileObj['file_url'] = $sFile;
$aFileObj['file_size'] = $_FILES['fields_' . $oField->getFieldId()]['size'];
$aFileObj['file_extension'] = $aPathInfo['extension'];
$aFileObj['file_downloads'] = 0;
$sData = serialize($aFileObj);
F::File_Delete($sFileTmp);
}
}
} else {
$sTypes = implode(', ', $aFileExtensions);
E::ModuleMessage()->AddError(E::ModuleLang()->Get('topic_field_file_upload_err_type', array('types' => $sTypes)), null, true);
}
} else {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('topic_field_file_upload_err_size', array('size' => $iMaxFileSize)), null, true);
}
F::File_Delete($_FILES['fields_' . $oField->getFieldId()]['tmp_name']);
}
}
// Поле с изображением
//.........这里部分代码省略.........
示例3: Process
public function Process()
{
$bResult = true;
foreach ($this->aLinks as $nIdx => $aLinkData) {
if (empty($aLinkData['throw']) && !empty($aLinkData['compress'])) {
$sAssetFile = $aLinkData['asset_file'];
$sExtension = 'min.' . F::File_GetExtension($sAssetFile);
$sCompressedFile = F::File_SetExtension($sAssetFile, $sExtension);
if (!$this->CheckDestination($sCompressedFile)) {
if ($sContents = F::File_GetContents($sAssetFile)) {
$sContents = $this->Compress($sContents);
if (F::File_PutContents($sCompressedFile, $sContents)) {
F::File_Delete($sAssetFile);
$this->aLinks[$nIdx]['link'] = F::File_SetExtension($this->aLinks[$nIdx]['link'], $sExtension);
if (C::Get('compress.css.gzip') && C::Get('compress.css.merge') && C::Get('compress.css.use')) {
// Сохраним gzip
$sCompressedContent = gzencode($sContents, 9);
F::File_PutContents($sCompressedFile . '.gz.css', $sCompressedContent);
}
}
}
} else {
$this->aLinks[$nIdx]['link'] = F::File_SetExtension($this->aLinks[$nIdx]['link'], $sExtension);
}
}
}
return $bResult;
}
示例4: _saveAssets
/**
* Save cache and check-file of current asset pack
*/
protected function _saveAssets()
{
$sCheckFileName = $this->GetAssetsCheckName();
F::File_PutContents($sCheckFileName, time(), LOCK_EX, true);
$sCacheFileName = $this->GetAssetsCacheName();
F::File_PutContents($sCacheFileName, F::Serialize($this->aAssets), LOCK_EX, true);
F::File_Delete($sCacheFileName . '.tmp');
}
示例5: EventMultiUpload
/**
* Загружаем картинку
*/
public function EventMultiUpload()
{
// Устанавливаем формат Ajax ответа
E::ModuleViewer()->SetResponseAjax('json', FALSE);
E::ModuleSecurity()->ValidateSendForm();
// Проверяем, загружен ли файл
if (!($aUploadedFile = $this->GetUploadedFile('uploader-upload-image'))) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('error_upload_image'), E::ModuleLang()->Get('error'));
return false;
}
$sTarget = F::GetRequest('target', FALSE);
$sTargetId = F::GetRequest('target_id', FALSE);
$oTarget = E::ModuleUploader()->CheckAccessAndGetTarget($sTarget, $sTargetId);
$bTmp = F::GetRequest('tmp', FALSE);
$bTmp = $bTmp == 'true' ? true : false;
// Проверяем, целевой объект и права на его редактирование
if (!$oTarget) {
// Здесь два варианта, либо редактировать нельзя, либо можно, но топика еще нет
if ($oTarget === TRUE) {
// Будем делать временную картинку
} else {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('not_access'), E::ModuleLang()->Get('error'));
return false;
}
}
// Ошибок пока нет
$sError = '';
// Сделаем временный файд
$sTmpFile = E::ModuleUploader()->UploadLocal($aUploadedFile);
// Вызовем хук перед началом загрузки картинки
E::ModuleHook()->Run('uploader_upload_before', array('oTarget' => $oTarget, 'sTmpFile' => $sTmpFile, 'sTarget' => $sTarget));
// Если все ок, и по миме проходит, то
if ($sTmpFile && E::ModuleImg()->MimeType($sTmpFile)) {
// Проверим, проходит ли по количеству
if (!E::ModuleUploader()->GetAllowedCount($sTarget = F::GetRequest('target', FALSE), $sTargetId = F::GetRequest('target_id', FALSE))) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('uploader_photoset_error_count_photos', array('MAX' => Config::Get('module.topic.photoset.count_photos_max'))), E::ModuleLang()->Get('error'));
return FALSE;
}
// Определим, существует ли объект или он будет создан позже
if (!($sTmpKey = E::ModuleSession()->GetCookie(ModuleUploader::COOKIE_TARGET_TMP)) && $sTargetId == '0' && $bTmp) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('error_upload_image'), E::ModuleLang()->Get('error'));
return FALSE;
}
// Пересохраним файл из кэша
// Сохраняем фото во временный файл
$oImg = E::ModuleImg()->Read($sTmpFile);
$sExtension = strtolower(pathinfo($sTmpFile, PATHINFO_EXTENSION));
if (!($sTmpFile = $oImg->Save(F::File_UploadUniqname($sExtension)))) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('error_upload_image'), E::ModuleLang()->Get('error'));
return FALSE;
}
// Окончательная запись файла только через модуль Uploader
if ($oStoredFile = E::ModuleUploader()->StoreImage($sTmpFile, $sTarget, $sTargetId, null, true)) {
/** @var ModuleMresource_EntityMresource $oResource */
//$oResource = $this->AddUploadedFileRelationInfo($oStoredFile, $sTarget, $sTargetId, TRUE);
$oResource = E::ModuleMresource()->GetMresourcesByUuid($oStoredFile->getUuid());
$sFile = $oStoredFile->GetUrl();
if ($oResource) {
$oResource->setType(ModuleMresource::TYPE_PHOTO);
E::ModuleMresource()->UpdateType($oResource);
}
$sFilePreview = $sFile;
if ($sSize = F::GetRequest('crop_size', FALSE)) {
$sFilePreview = E::ModuleUploader()->ResizeTargetImage($sFile, $sSize);
}
// Запускаем хук на действия после загрузки картинки
E::ModuleHook()->Run('uploader_upload_image_after', array('sFile' => $sFile, 'sFilePreview' => $sFilePreview, 'sTargetId' => $sTargetId, 'sTarget' => $sTarget, 'oTarget' => $oTarget));
E::ModuleViewer()->AssignAjax('file', $sFilePreview);
E::ModuleViewer()->AssignAjax('id', $oResource->getMresourceId());
// Чистим
E::ModuleImg()->Delete($sTmpFile);
return TRUE;
}
} else {
// Ошибки загрузки картинки
$sError = E::ModuleUploader()->GetErrorMsg();
if (!$sError) {
$sError = E::ModuleLang()->Get('error_upload_image');
}
}
// Выведем ошибки пользователю
E::ModuleMessage()->AddError($sError, E::ModuleLang()->Get('error'));
// Удалим ранее загруженый файл
F::File_Delete($sTmpFile);
}
示例6: _eventLogsErrorDelete
protected function _eventLogsErrorDelete($sLogFile)
{
F::File_Delete($sLogFile);
}
示例7: DeleteMresources
/**
* Deletes media resources by ID
*
* @param $aMresources
* @param $bDeleteFiles
* @param $bNoCheckTargets
*
* @return bool
*/
public function DeleteMresources($aMresources, $bDeleteFiles = true, $bNoCheckTargets = false)
{
$aId = $this->_entitiesId($aMresources);
$bResult = true;
if ($aId) {
if ($bDeleteFiles) {
$aMresources = $this->oMapper->GetMresourcesById($aId);
if (!$bNoCheckTargets && $aMresources) {
/** @var ModuleMresource_EntityMresource $oMresource */
foreach ($aMresources as $oMresource) {
// Если число ссылок > 0, то не удаляем
if ($oMresource->getTargetsCount() > 0) {
$iIdx = array_search($oMresource->getId(), $aId);
if ($iIdx !== false) {
unset($aId[$iIdx]);
}
}
}
}
}
$bResult = $this->oMapper->DeleteMresources($aId);
if ($bDeleteFiles) {
if ($bResult && $aMresources && $aId) {
// Удаляем файлы
foreach ($aId as $nId) {
if (isset($aMresources[$nId]) && $aMresources[$nId]->IsFile() && $aMresources[$nId]->CanDelete()) {
if ($aMresources[$nId]->IsImage()) {
E::ModuleImg()->Delete($aMresources[$nId]->GetFile());
} else {
F::File_Delete($aMresources[$nId]->GetFile());
}
}
}
}
}
}
E::ModuleCache()->CleanByTags(array('mresource_update', 'mresource_rel_update'));
return $bResult;
}
示例8: UploadLocal
/**
* Upload file from client via HTTP POST
*
* @param array $aFile
* @param string $sTarget
* @param string $sDir
* @param bool $bOriginalName
*
* @return bool|string
*/
public function UploadLocal($aFile, $sTarget = 'default', $sDir = null, $bOriginalName = false)
{
$this->nLastError = 0;
if (is_array($aFile) && isset($aFile['tmp_name']) && isset($aFile['name'])) {
if ($aFile['error'] === UPLOAD_ERR_OK) {
if (is_uploaded_file($aFile['tmp_name'])) {
if ($bOriginalName) {
$sTmpFile = F::File_GetUploadDir() . $aFile['name'];
} else {
if (E::UserId()) {
$sExtension = dechex(E::UserId()) . '.' . pathinfo($aFile['name'], PATHINFO_EXTENSION);
} else {
$sExtension = pathinfo($aFile['name'], PATHINFO_EXTENSION);
}
$sTmpFile = strtolower(basename(F::File_UploadUniqname($sExtension)));
}
// Copy uploaded file in our temp folder
if ($sTmpFile = F::File_MoveUploadedFile($aFile['tmp_name'], $sTmpFile)) {
if ($this->_checkUploadedFile($sTmpFile, $sTarget)) {
if ($sDir) {
$sTmpFile = $this->MoveTmpFile($sTmpFile, $sDir);
}
return $sTmpFile;
} else {
F::File_Delete($sTmpFile);
}
}
} else {
// Файл не был загружен при помощи HTTP POST
$this->nLastError = self::ERR_NOT_POST_UPLOADED;
}
} else {
// Ошибка загузки файла
$this->nLastError = $aFile['error'];
}
} else {
$this->nLastError = self::ERR_NOT_FILE_VARIABLE;
}
return false;
}
示例9: _deleteCustomCfg
/**
* Удаляет кеш-файл кастомной конфигуации
*
*/
protected static function _deleteCustomCfg()
{
$sFile = self::_checkCustomCfg(true);
if ($sFile) {
F::File_Delete($sFile);
}
}
示例10: _saveAssets
/**
* Save cache and check-file of current asset pack
*/
protected function _saveAssets()
{
F::File_PutContents($this->GetAssetsCheckName(), time());
$sFile = $this->GetAssetsCacheName();
F::File_PutContents($sFile, F::Serialize($this->aAssets));
F::File_Delete($sFile . '.tmp');
}
示例11: Delete
/**
* Delete image file and its duplicates
*
* @param string $sFile
*
* @return bool
*/
public function Delete($sFile)
{
return F::File_Delete($sFile) && $this->DeleteDuplicates($sFile);
}
示例12: _stageEnd
/**
* @param int $nStage
* @param bool $bFinal
*/
protected function _stageEnd($nStage, $bFinal = false)
{
$sFile = F::File_GetAssetDir() . '_check/' . $this->GetHash();
F::File_PutContents($sFile . '.' . $nStage . '.end.tmp', time());
for ($n = 1; $n <= $nStage; $n++) {
F::File_Delete($sFile . '.' . $n . '.begin.tmp');
if ($n < $nStage || $bFinal) {
F::File_Delete($sFile . '.' . $n . '.end.tmp');
}
}
}
示例13: EventUploadPhoto
/**
* Загрузка временной картинки фото для последущего ресайза
*/
protected function EventUploadPhoto()
{
if (isset($_FILES['foto']) && !isset($_FILES['photo'])) {
$_FILES['photo'] = $_FILES['foto'];
}
// * Устанавливаем формат Ajax ответа
$this->Viewer_SetResponseAjax(F::AjaxRequest(true) ? 'json' : 'jsonIframe', false);
if (!($aUploadedFile = $this->GetUploadedFile('photo')) && !($aUploadedFile = $this->GetUploadedFile('foto'))) {
$this->Message_AddError($this->Lang_Get('settings_profile_photo_error'), $this->Lang_Get('error'));
return;
}
$sError = '';
$sTmpFile = $this->Uploader_UploadLocal($aUploadedFile);
if ($sTmpFile && $this->Img_MimeType($sTmpFile)) {
/**
* Ресайзим и сохраняем уменьшенную копию
* Храним две копии - мелкую для показа пользователю и крупную в качестве исходной для ресайза
*/
$sPreviewFile = $this->Uploader_GetUserAvatarDir($this->oUserCurrent->getId()) . 'photo-preview.' . F::File_GetExtension($sTmpFile, true);
if ($sPreviewFile = $this->Img_Copy($sTmpFile, $sPreviewFile, self::PREVIEW_RESIZE, self::PREVIEW_RESIZE)) {
// * Сохраняем в сессии временный файл с изображением
$this->Session_Set('sPhotoTmp', $sTmpFile);
$this->Session_Set('sPhotoPreview', $sPreviewFile);
$this->Viewer_AssignAjax('sTmpFile', $this->Uploader_Dir2Url($sPreviewFile));
return;
}
} else {
$sError = $this->Uploader_GetErrorMsg();
if (!$sError) {
$sError = $this->Lang_Get('settings_profile_photo_error');
}
}
$this->Message_AddError($sError, $this->Lang_Get('error'));
F::File_Delete($sTmpFile);
}
示例14: _rotateRename
/**
* Переименовывает все файлы логов согласно их последовательности
*
* @param string $sFileName
* @param int $iNumberLast
*/
protected function _rotateRename($sFileName, $iNumberLast)
{
$aPathInfo = pathinfo($sFileName);
$iMaxCount = $this->GetCountForRotate();
$sPathFile = $aPathInfo['dirname'] . '/' . $aPathInfo['filename'];
for ($i = $iNumberLast; $i > 0; $i--) {
$sFullNameCur = $sPathFile . ".{$i}." . $aPathInfo['extension'];
if ($iMaxCount && $iMaxCount <= $i) {
F::File_Delete($sFullNameCur);
} else {
$sFullNameNew = $sPathFile . '.' . ($i + 1) . '.' . $aPathInfo['extension'];
rename($sFullNameCur, $sFullNameNew);
}
}
rename($sFileName, $sPathFile . '.1.' . $aPathInfo['extension']);
}