/** * @param $folder * * @return bool */ public function upload($folder) { if ($this->validate()) { foreach ($this->file as $file) { $filePath = $folder . DIRECTORY_SEPARATOR . FileHelper::removeSign($file->baseName) . '.' . $file->extension; if (file_exists($filePath)) { $filePath = $folder . DIRECTORY_SEPARATOR . FileHelper::removeSign($file->baseName) . '_' . time() . '.' . $file->extension; } $file->saveAs($filePath); } return true; } else { return false; } }
/** * @param string $folder * @param string $sort * * @return array */ public function actionFileList($folder = '', $sort = '') { /** * @var Module $module */ $module = Yii::$app->getModule('roxymce'); $folder = realpath($folder); if ($folder == '') { $folder = Yii::getAlias($this->module->uploadFolder); } if ($module->rememberLastFolder) { Yii::$app->cache->set('roxy_last_folder', $folder); } if ($sort == '') { if ($module->rememberLastOrder && Yii::$app->cache->exists('roxy_last_order')) { $sort = Yii::$app->cache->get('roxy_last_order'); } else { $sort = FolderHelper::SORT_DATE_DESC; } } if ($module->rememberLastOrder) { Yii::$app->cache->set('roxy_last_order', $sort); } $content = []; foreach (FolderHelper::fileList($folder, $sort) as $item) { $file = $folder . DIRECTORY_SEPARATOR . $item; $content[] = ['is_image' => FileHelper::isImage($item), 'url' => FileHelper::fileUrl($file), 'preview' => FileHelper::filePreview($file), 'icon' => FileHelper::fileIcon($file), 'name' => $item, 'size' => FileHelper::fileSize(filesize($file), 0), 'date' => date($module->dateFormat, filemtime($file))]; } return ['error' => 0, 'content' => $content]; }