/** * 移动文件夹 * * @param string $oldDir * @param string $aimDir * @param boolean $overWrite 该参数控制是否覆盖原文件 * @return boolean */ function moveDir($oldDir, $aimDir, $overWrite = false) { $aimDir = str_replace('', '/', $aimDir); $aimDir = substr($aimDir, -1) == '/' ? $aimDir : $aimDir . '/'; $oldDir = str_replace('', '/', $oldDir); $oldDir = substr($oldDir, -1) == '/' ? $oldDir : $oldDir . '/'; if (!is_dir($oldDir)) { return false; } if (!file_exists($aimDir)) { UtilFile::createDir($aimDir); } @($dirHandle = opendir($oldDir)); if (!$dirHandle) { return false; } while (false !== ($file = readdir($dirHandle))) { if ($file == '.' || $file == '..') { continue; } if (!is_dir($oldDir . $file)) { UtilFile::moveFile($oldDir . $file, $aimDir . $file, $overWrite); } else { UtilFile::moveDir($oldDir . $file, $aimDir . $file, $overWrite); } } closedir($dirHandle); return rmdir($oldDir); }
public function actionGetRemoteImage() { $url = isset($_POST['url']) ? $_POST['url'] : die('图片地址不正确~'); $info = UtilHelper::resourceLocalize($url); // UtilHelper::dump($info); $model = new File(); $model->name = $info['filename']; $model->ext = $info['extension']; $model->created = time(); $model->size = $info['size']; $model->pid = Lookup::model()->getUserAdThemeAlbum(Yii::app()->user->id)->id; $model->mime = File::model()->getMimeType($model->ext, $info['mime']); $src = './public/favorite/' . $model->name . '.' . $model->ext; $target = File::model()->generateFileName($model, 'adtheme', true); // UtilHelper::dump($model->attributes); if ($model->save()) { UtilFile::moveFile($src, $target); $result = array('id' => $model->id, 'path' => File::model()->generateFileName($model, 'adtheme', false)); echo json_encode($result); } }