本文整理汇总了PHP中yii\helpers\FileHelper类的典型用法代码示例。如果您正苦于以下问题:PHP FileHelper类的具体用法?PHP FileHelper怎么用?PHP FileHelper使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了FileHelper类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: actionGenerate
/**
* Сгенерировать карту классов для автоподгрузки.
*/
public function actionGenerate()
{
$root = '@app';
$root = Yii::getAlias($root);
$root = FileHelper::normalizePath($root);
$mapFile = '@app/config/classes.php';
$mapFile = Yii::getAlias($mapFile);
$options = ['filter' => function ($path) {
if (is_file($path)) {
$file = basename($path);
if ($file[0] < 'A' || $file[0] > 'Z') {
return false;
}
}
return;
}, 'only' => ['*.php'], 'except' => ['/views/', '/vendor/', '/config/', '/tests/']];
$files = FileHelper::findFiles($root, $options);
$map = [];
foreach ($files as $file) {
if (strpos($file, $root) !== 0) {
throw new \Exception("Something wrong: {$file}\n");
}
$path = str_replace('\\', '/', substr($file, strlen($root)));
$map['app' . substr(str_replace('/', '\\', $path), 0, -4)] = $file;
}
$this->generateMapFile($mapFile, $map);
}
示例2: tearDown
protected function tearDown()
{
if (is_dir($this->tmpPath)) {
FileHelper::removeDirectory($this->tmpPath);
}
parent::tearDown();
}
示例3: tearDown
public function tearDown()
{
FileHelper::removeDirectory($this->sourcePath);
if (file_exists($this->configFileName)) {
unlink($this->configFileName);
}
}
示例4: cleanAssetDir
public function cleanAssetDir()
{
$now = time();
$asset_temp_dirs = glob($this->asset_dir . '/*', GLOB_ONLYDIR);
// check if less than want to keep
if (count($asset_temp_dirs) <= $this->keep) {
return 0;
}
// get all dirs and sort by modified
$modified = [];
foreach ($asset_temp_dirs as $asset_temp_dir) {
$modified[$asset_temp_dir] = filemtime($asset_temp_dir);
}
asort($modified);
$nbr_dirs = count($modified);
// keep last dirs
for ($i = min($nbr_dirs, $this->keep); $i > 0; $i--) {
array_pop($modified);
}
if ($this->dry_run) {
$msg_try = 'would have ';
} else {
$msg_try = '';
}
// remove dirs
foreach ($modified as $dir => $mod) {
$this->echo_msg($msg_try . 'removed ' . $dir . ', last modified ' . Yii::$app->formatter->asDatetime($mod));
if (!$this->dry_run) {
FileHelper::removeDirectory($dir);
}
}
return $this->dry_run ? 0 : $nbr_dirs;
}
示例5: tearDown
public function tearDown()
{
$filePath = $this->getTestFilePath();
if (file_exists($filePath)) {
FileHelper::removeDirectory($filePath);
}
}
示例6: getDirectories
/**
* @return array all directories
*/
protected function getDirectories()
{
if ($this->_paths === null) {
$paths = ArrayHelper::getValue(Yii::$app->params, $this->paramVar, []);
$paths = array_merge($paths, $this->migrationLookup);
$extra = !empty($this->extraFile) && is_file($this->extraFile = Yii::getAlias($this->extraFile)) ? require $this->extraFile : [];
$paths = array_merge($extra, $paths);
$p = [];
foreach ($paths as $path) {
$p[Yii::getAlias($path, false)] = true;
}
unset($p[false]);
$currentPath = Yii::getAlias($this->migrationPath);
if (!isset($p[$currentPath])) {
$p[$currentPath] = true;
if (!empty($this->extraFile)) {
$extra[] = $this->migrationPath;
FileHelper::createDirectory(dirname($this->extraFile));
file_put_contents($this->extraFile, "<?php\nreturn " . VarDumper::export($extra) . ";\n", LOCK_EX);
}
}
$this->_paths = array_keys($p);
foreach ($this->migrationNamespaces as $namespace) {
$path = str_replace('/', DIRECTORY_SEPARATOR, Yii::getAlias('@' . str_replace('\\', '/', $namespace)));
$this->_paths[$namespace] = $path;
}
}
return $this->_paths;
}
示例7: actionIndex
public function actionIndex()
{
$src = DOCGEN_PATH . '/swagger-ui/';
$dst = Yii::getAlias('@app') . '/web/apidoc/';
FileHelper::copyDirectory($src, $dst);
return Controller::EXIT_CODE_NORMAL;
}
示例8: applyTo
/**
* @inheritdoc
*/
public function applyTo($path)
{
$pathMap = $this->pathMap;
if (empty($pathMap)) {
if (($basePath = $this->getBasePath()) === null) {
throw new InvalidConfigException('The "basePath" property must be set.');
}
$pathMap = [Yii::$app->getBasePath() => [$basePath]];
}
$module = Yii::$app->controller->module;
if (!$module instanceof \yii\web\Application) {
$pathMap['@app/modules/' . $module->id . '/views'] = [$pathMap['@app/views'][0] . '/' . $module->id];
}
#debug
// echo '<pre>';
// print_r(Yii::$app->controller->module);
// echo '</pre>';
#end debug
#debug
echo '<pre>';
print_r($pathMap);
echo '</pre>';
#end debug
$path = FileHelper::normalizePath($path);
#debug
echo 'path: ', $path, '<br/>';
#end debug
foreach ($pathMap as $from => $tos) {
$from = FileHelper::normalizePath(Yii::getAlias($from)) . DIRECTORY_SEPARATOR;
#debug
echo 'from: ', $from, '<br/>';
#end debug
if (strpos($path, $from) === 0) {
$n = strlen($from);
foreach ((array) $tos as $to) {
$to = FileHelper::normalizePath(Yii::getAlias($to)) . DIRECTORY_SEPARATOR;
#debug
echo 'to: ', $to, '<br/>';
#end debug
$file = $to . substr($path, $n);
if (is_file($file)) {
#debug
echo 'return file: ', $file, '<br/>';
if (strpos($path, 'layouts')) {
exit;
}
#end debug
return $file;
}
}
}
}
#debug
echo 'return path: ', $path, '<br/>';
if (strpos($path, 'layouts')) {
exit;
}
#end debug
return $path;
}
示例9: tearDown
protected function tearDown()
{
parent::tearDown();
FileHelper::removeDirectory(\Yii::$app->getModule('file')->upload_path);
FileHelper::removeDirectory(\Yii::$app->getModule('file')->storage_path);
$this->destroyApplication();
}
示例10: init
public function init()
{
parent::init();
$extJsSrcDir = Yii::getAlias($this->extJsDir);
$extJsSrcExtendDir = Yii::getAlias($this->extJsExtendDir);
$dstDir = Yii::getAlias($this->dstPath);
$extJsDstDir = $dstDir . DIRECTORY_SEPARATOR . 'extjs';
$extJsExtendDstDir = $dstDir . DIRECTORY_SEPARATOR . 'extjs-extend';
if (!is_dir($dstDir)) {
if (!is_dir($dstDir)) {
FileHelper::createDirectory($dstDir);
}
}
if (!is_dir($extJsDstDir)) {
symlink($extJsSrcDir, $extJsDstDir);
}
if (!is_dir($extJsExtendDstDir)) {
symlink($extJsSrcExtendDir, $extJsExtendDstDir);
}
$data = DpConfig::find()->all();
$config = [];
foreach ($data as $item) {
$config[$item['name']] = $item['value'];
}
$this->config = $config;
$this->identity = Yii::$app->user->identity;
}
示例11: loadActiveModules
public function loadActiveModules($isAdmin)
{
$moduleManager = LuLu::getService('modularityService');
$this->activeModules = $moduleManager->getActiveModules($isAdmin);
$module = $isAdmin ? 'AdminModule' : 'HomeModule';
foreach ($this->activeModules as $m)
{
$moduleId = $m['id'];
$moduleDir = $m['dir'];
$ModuleClassName = $m['dir_class'];
$this->setModule($moduleId, [
'class' => 'source\modules\\' . $moduleDir . '\\' . $module
]);
$serviceFile= LuLu::getAlias('@source').'\modules\\' .$moduleDir.'\\'.$ModuleClassName.'Service.php';
if(FileHelper::exist($serviceFile))
{
$serviceClass = 'source\modules\\' .$moduleDir.'\\'.$ModuleClassName.'Service.php';
$serviceInstance = new $serviceClass();
$this->set($serviceInstance->getServiceId(), $serviceInstance);
}
}
}
示例12: actionIndex
/**
* @hass-todo 没有添加事务
* @return string
*/
public function actionIndex()
{
$model = new MigrationUtility();
$upStr = new OutputString();
$downStr = new OutputString();
if ($model->load(\Yii::$app->getRequest()->post())) {
if (!empty($model->tableSchemas)) {
list($up, $down) = $this->generalTableSchemas($model->tableSchemas, $model->tableOption, $model->foreignKeyOnUpdate, $model->foreignKeyOnDelete);
$upStr->outputStringArray = array_merge($upStr->outputStringArray, $up->outputStringArray);
$downStr->outputStringArray = array_merge($downStr->outputStringArray, $down->outputStringArray);
}
if (!empty($model->tableDatas)) {
list($up, $down) = $this->generalTableDatas($model->tableDatas);
$upStr->outputStringArray = array_merge($upStr->outputStringArray, $up->outputStringArray);
$downStr->outputStringArray = array_merge($downStr->outputStringArray, $down->outputStringArray);
}
$path = Yii::getAlias($model->migrationPath);
if (!is_dir($path)) {
FileHelper::createDirectory($path);
}
$name = 'm' . gmdate('ymd_His') . '_' . $model->migrationName;
$file = $path . DIRECTORY_SEPARATOR . $name . '.php';
$content = $this->renderFile(Yii::getAlias("@hass/migration/views/migration.php"), ['className' => $name, 'up' => $upStr->output(), 'down' => $downStr->output()]);
file_put_contents($file, $content);
$this->flash("success", "迁移成功,保存在" . $file);
}
if ($model->migrationPath == null) {
$model->migrationPath = $this->module->migrationPath;
}
return $this->render('index', ['model' => $model]);
}
示例13: actionIndex
public function actionIndex()
{
$file = UploadedFile::getInstanceByName('imgFile');
$basePath = dirname(\Yii::getAlias('@common'));
$date = date("Y{$this->separator}m", time());
$uploadPath = "../uploads/Attachment/{$date}";
if (!is_dir($basePath . "/" . $uploadPath)) {
FileHelper::createDirectory($basePath . "/" . $uploadPath);
}
if (preg_match('/(\\.[\\S\\s]+)$/', $file->name, $match)) {
$filename = md5(uniqid(rand())) . $match[1];
} else {
$filename = $file->name;
}
$uploadData = ['type' => $file->type, 'name' => $filename, 'size' => $file->size, 'path' => "/" . $uploadPath, 'module' => null, 'controller' => null, 'action' => null, 'user_id' => \Yii::$app->user->isGuest ? 0 : \Yii::$app->user->identity->id];
$module = \Yii::$app->controller->module;
Upload::$db = $module->db;
$model = new Upload();
$model->setAttributes($uploadData);
$model->validate();
if ($model->save() && $file->saveAs($basePath . '/' . $uploadPath . '/' . $filename)) {
return Json::encode(array('error' => 0, 'url' => "/" . $uploadPath . '/' . $filename, 'id' => $model->id, 'name' => $file->name));
} else {
return Json::encode(array('error' => 1, 'msg' => Json::encode($model->getErrors())));
}
}
示例14: init
public function init()
{
if (!isset($this->runtimePath)) {
$this->runtimePath = Yii::$app->runtimePath;
}
$this->configFile = $this->runtimePath . '/halo/active-plugins.php';
if (!is_dir(dirname($this->configFile))) {
FileHelper::createDirectory(dirname($this->configFile));
}
if (file_exists($this->configFile)) {
$this->_activePlugins = (require $this->configFile);
} else {
$this->_activePlugins = [];
}
foreach (glob($this->pluginPath . '/*', GLOB_ONLYDIR) as $vendorPath) {
foreach (glob($vendorPath . '/*', GLOB_ONLYDIR) as $pluginPath) {
$pluginInfoFile = $pluginPath . '/plugin.json';
if (!is_file($pluginInfoFile)) {
// not plugin
continue;
}
$pluginId = basename($vendorPath) . '.' . basename($pluginPath);
$pluginInfo = json_decode(file_get_contents($pluginInfoFile), true);
if ($pluginInfo === null) {
// something wrong, can not read plugin.json
continue;
}
$this->_availablePlugins[$pluginId] = $pluginInfo;
}
}
}
示例15: init
/**
* @inheritdoc
*/
public function init()
{
parent::init();
$this->uploadDir = !empty(\Yii::$app->getModule('core')->fileUploadPath) ? \Yii::$app->getModule('core')->fileUploadPath : $this->uploadDir;
$this->uploadDir = FileHelper::normalizePath(\Yii::getAlias($this->uploadDir));
$this->additionalRenderData['uploadDir'] = $this->uploadDir;
}