当前位置: 首页>>代码示例>>PHP>>正文


PHP Input::backup方法代码示例

本文整理汇总了PHP中Terminus\Helpers\Input::backup方法的典型用法代码示例。如果您正苦于以下问题:PHP Input::backup方法的具体用法?PHP Input::backup怎么用?PHP Input::backup使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Terminus\Helpers\Input的用法示例。


在下文中一共展示了Input::backup方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getBackup

 /**
  * Retrieves a single backup or downloads it as requested
  *
  * @params [array] $assoc_args Parameters and flags from the command line
  * @return [string] $url->url
  */
 private function getBackup($assoc_args)
 {
     $site = $this->sites->get(Input::sitename($assoc_args));
     $env = $site->environments->get(Input::env(array('args' => $assoc_args, 'site' => $site)));
     $file = Input::optional('file', $assoc_args, false);
     if ($file) {
         $backup = $env->backups->getBackupByFileName($file);
         $element = $backup->getElement();
     } else {
         $element = Input::backupElement(array('args' => $assoc_args));
         $latest = (bool) Input::optional('latest', $assoc_args, false);
         $backups = $env->backups->getFinishedBackups($element);
         if ($latest) {
             $backup = array_pop($backups);
         } else {
             $context = array('site' => $site->get('name'), 'env' => $env->get('id'));
             $backup = Input::backup(array('backups' => $backups, 'context' => $context));
         }
     }
     $url = $backup->getUrl();
     if (isset($assoc_args['to'])) {
         $target = str_replace('~', $_SERVER['HOME'], $assoc_args['to']);
         if (is_dir($target)) {
             $filename = Utils\getFilenameFromUrl($url);
             $target = sprintf('%s/%s', $target, $filename);
         }
         $this->log()->info('Downloading ... please wait ...');
         if (Request::download($url, $target)) {
             $this->log()->info('Downloaded {target}', compact('target'));
             return $target;
         } else {
             $this->failure('Could not download file');
         }
     }
     return $url;
 }
开发者ID:4aficiona2,项目名称:cli,代码行数:42,代码来源:SiteCommand.php

示例2: backups

 /**
  * Get, load, create, or list backup information
  *
  * ## OPTIONS
  *
  * <get|load|create|list>
  * : Function to run - get, load, create, or list
  *
  * [--site=<site>]
  * : Site to load
  *
  * [--env=<env>]
  * : Environment to load
  *
  * [--element=<code|files|db|all>]
  * : Element to download or create. `all` is only used for 'create'
  *
  * [--to=<directory|file>]
  * : Absolute path of a directory or filename to save the downloaded backup to
  *
  * [--file=<filename>]
  * : Select one of the files from the list subcommand. Only used for 'get'
  *
  * [--latest]
  * : If set the latest backup will be selected automatically
  *
  * [--keep-for]
  * : Number of days to keep this backup
  *
  * @subcommand backups
  *
  */
 public function backups($args, $assoc_args)
 {
     $action = array_shift($args);
     $site = $this->sites->get(Input::sitename($assoc_args));
     $env = $site->environments->get(Input::env($assoc_args, 'env'));
     //Backward compatability supports "database" as a valid element value.
     if (isset($assoc_args['element']) && $assoc_args['element'] == 'database') {
         $assoc_args['element'] = 'db';
     }
     switch ($action) {
         case 'get':
             $file = Input::optional('file', $assoc_args, false);
             if ($file) {
                 $backup = $env->getBackupByFile($file);
                 $element = $backup->element;
             } else {
                 $element = Input::backupElement(array('args' => $assoc_args));
                 $latest = (bool) Input::optional('latest', $assoc_args, false);
                 $backups = $env->getFinishedBackups($element);
                 if ($latest) {
                     $backup = array_pop($backups);
                 } else {
                     $context = array('site' => $site->get('name'), 'env' => $env->get('id'));
                     $backup = Input::backup(array('backups' => $backups, 'context' => $context));
                 }
             }
             $url = $env->getBackupUrl($backup->folder, $element);
             if (isset($assoc_args['to'])) {
                 $target = str_replace('~', $_SERVER['HOME'], $assoc_args['to']);
                 if (is_dir($target)) {
                     $filename = Utils\getFilenameFromUrl($url->url);
                     $target = sprintf('%s/%s', $target, $filename);
                 }
                 $this->log()->info('Downloading ... please wait ...');
                 if ($this->download($url->url, $target)) {
                     $this->log()->info('Downloaded {target}', compact('target'));
                     return $target;
                 } else {
                     $this->failure('Could not download file');
                 }
             }
             $this->output()->outputValue($url->url, 'Backup URL');
             return $url->url;
             break;
         case 'load':
             $assoc_args['to'] = '/tmp';
             $assoc_args['element'] = 'database';
             if (isset($assoc_args['database'])) {
                 $database = $assoc_args['database'];
             } else {
                 $database = escapeshellarg(Terminus::prompt('Name of database to import to'));
             }
             if (isset($assoc_args['username'])) {
                 $username = $assoc_args['username'];
             } else {
                 $username = escapeshellarg(Terminus::prompt('Username'));
             }
             if (isset($assoc_args['password'])) {
                 $password = $assoc_args['password'];
             } else {
                 $password = escapeshellarg(Terminus::prompt('Password'));
             }
             exec('mysql -e "show databases"', $stdout, $exit);
             if ($exit != 0) {
                 $this->failure('MySQL does not appear to be installed on your server.');
             }
             $assoc_args['env'] = $env->get('id');
             $target = $this->backup(array('get'), $assoc_args);
//.........这里部分代码省略.........
开发者ID:RobLoach,项目名称:cli,代码行数:101,代码来源:site.php


注:本文中的Terminus\Helpers\Input::backup方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。