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


PHP Folder::cd方法代码示例

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


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

示例1: load

 /**
  * Find all defined callbacks in the app or other plugins
  *
  * @param undefined $cached
  * @return void
  * @access public
  */
 public function load()
 {
     $cached = Cache::read('_plugin_callbacks_', '_cake_models_');
     if ($cached !== false) {
         $this->settings = $cached;
         return $cached;
     }
     App::import('Folder');
     $Folder = new Folder($this->path . 'plugins');
     $folders = current($Folder->ls());
     $files = array();
     foreach ($folders as $folder) {
         if ($Folder->cd($this->path . 'models' . DS . 'callbacks')) {
             $files = $Folder->findRecursive('([a-z_]+)_' . $folder . '.php');
         }
         $files = array_flip($files);
         foreach ($folders as $_folder) {
             if ($Folder->cd($this->path . 'plugins' . DS . $_folder . DS . 'models' . DS . 'callbacks')) {
                 $files = array_merge($files, array_flip($Folder->findRecursive('([a-z_]+)_' . $folder . '.php')));
             }
         }
         foreach (array_keys($files) as $k => $file) {
             if (!preg_match_all('/models\\/callbacks\\/([a-z_]+)_' . $folder . '\\.php/i', $file, $matches)) {
                 continue;
             }
             $plugin = current($matches[1]);
             if (empty($plugin)) {
                 $plugin = 'app';
             }
             $callbackName = Inflector::camelize(sprintf('%s_%s', $plugin, $folder));
             $this->settings[$folder][$plugin] = $callbackName;
         }
     }
     Cache::write('_plugin_callbacks_', $this->settings, '_cake_models_');
 }
开发者ID:jadb,项目名称:cakephp-plugin-callbacks,代码行数:42,代码来源:callbacks.php

示例2: main

 /**
  * The main method: where things happen
  * 
  * @access public
  */
 function main()
 {
     if (isset($this->params['quiet'])) {
         $this->quiet = true;
     }
     $tmp = new Folder(TMP);
     $folders = reset($tmp->read());
     // read only directories (array[0])
     foreach ($folders as $folder) {
         $tmp->cd(TMP);
         $tmp->cd($folder);
         $files = end($tmp->read());
         // read only files (array[1])
         if (in_array('last_interaction', $files)) {
             $file_interaction = (int) file_get_contents($tmp->pwd() . DS . 'last_interaction');
             // as each piece is 1Mb, this will give the user the chance of uploading at 13,7 kbps (1,7 kb/s)
             if (time() - $file_interaction > 600) {
                 $this->out("Removing {$folder}");
                 foreach ($files as $file) {
                     unlink($tmp->pwd() . DS . $file);
                 }
                 $tmp->delete();
             }
         }
     }
 }
开发者ID:rcaravita,项目名称:jodeljodel,代码行数:31,代码来源:upload_gc.php

示例3: getJobs

 function getJobs()
 {
     App::import('Core', 'Folder');
     $Folder = new Folder();
     $jobs = array();
     if ($Folder->cd(APP . 'vendors' . DS . 'shells' . DS . 'jobs' . DS)) {
         $x = $Folder->read(true, true, true);
         $jobs = array_merge($jobs, $x[1]);
     }
     if ($Folder->cd(VENDORS . DS . 'shells' . DS . 'jobs' . DS)) {
         $x = $Folder->read(true, true, true);
         $jobs = array_merge($jobs, $x[1]);
     }
     return $jobs;
 }
开发者ID:revolution-messaging,项目名称:CakePHP-PHP-Resque-Plugin,代码行数:15,代码来源:resque_utility.php

示例4: __loadEventHandlers

 /**
  * Loads all available event handler classes for enabled plugins
  *
  */
 private function __loadEventHandlers()
 {
     $this->__eventHandlerCache = Cache::read('event_handlers', 'core');
     if (empty($this->__eventHandlerCache)) {
         App::import('Core', 'Folder');
         $folder = new Folder();
         $pluginsPaths = App::path('plugins');
         foreach ($pluginsPaths as $pluginsPath) {
             $folder->cd($pluginsPath);
             $plugins = $folder->read();
             $plugins = $plugins[0];
             if (count($plugins)) {
                 foreach ($plugins as $pluginName) {
                     $filename = $pluginsPath . $pluginName . DS . $pluginName . '_events.php';
                     $className = Inflector::camelize($pluginName . '_events');
                     if (file_exists($filename)) {
                         if (EventCore::__loadEventClass($className, $filename)) {
                             EventCore::__getAvailableHandlers($this->__eventClasses[$className]);
                         }
                     }
                 }
             }
         }
         Cache::write('event_handlers', $this->__eventHandlerCache, 'core');
     }
 }
开发者ID:rchavik,项目名称:infinitas,代码行数:30,代码来源:events.php

示例5: fileList

 /**
  * Recursive Read a path and return files and folders not in the excluded Folder list
  *
  * @param string $path The path you wish to read.
  * @return array
  **/
 public function fileList($path)
 {
     $this->_Folder->cd($path);
     $filePattern = $this->fileRegExp . '\\.' . implode('|', $this->allowedExtensions);
     $contents = $this->_Folder->findRecursive($filePattern);
     $this->_filterFolders($contents);
     $this->_filterFiles($contents);
     return $contents;
 }
开发者ID:predominant,项目名称:api_generator,代码行数:15,代码来源:api_file.php

示例6: createTemporaryFolder

 /**
  * createTemporaryFolder
  *
  * @param string $folderName temporary middle name
  * @return Folder
  */
 public function createTemporaryFolder($controller, $folderName = 'download')
 {
     $folder = new Folder();
     if (!$folder) {
         throw new Exception(__d('net_commons', 'can not create folder'));
     }
     $folderName = TMP . $controller->plugin . DS . $folderName . DS . microtime(true);
     $folder->create($folderName);
     if (!$folder->cd($folderName)) {
         throw new Exception(__d('net_commons', 'can not change folder'));
     }
     $this->_workingFolder = $folder;
     return $folder;
 }
开发者ID:Onasusweb,项目名称:Questionnaires,代码行数:20,代码来源:QuestionnairesDownloadComponent.php

示例7: run

 function run()
 {
     $return = array();
     $paths = array(CACHE . 'models', CACHE . 'persistent', CACHE . 'views');
     $folder = new Folder();
     foreach ($paths as $path) {
         $folder->cd($path);
         $files = $folder->read();
         foreach ($files[1] as $file) {
             if ($file == 'empty') {
                 continue;
             }
             $return[] = $path . DS . $file;
             unlink($path . DS . $file);
         }
     }
     return $return;
 }
开发者ID:Evangelia,项目名称:clear_cache,代码行数:18,代码来源:clear_cache.php

示例8: expire

 /**
  * Чистка хранилища по условию
  *
  * @param array $conditions условие
  *
  * @return bool
  */
 public function expire($conditions = [])
 {
     $dir = $this->_config['dir'] . DS;
     // обрабатываем директории для логов
     // переходив в нужную директорию
     chdir($dir);
     $entries = scandir($dir);
     \App::uses('Folder', 'Utility');
     $Dir = new \Folder();
     $Dir->cd($dir);
     foreach ($entries as $entry) {
         if (!is_dir($entry) || in_array($entry, ['.', '..']) || !is_writable($entry)) {
             continue;
         }
         if (strtotime($entry) < strtotime($conditions)) {
             $Dir->delete($entry);
         }
     }
     return true;
 }
开发者ID:pdedkov,项目名称:cakephp-logger,代码行数:27,代码来源:File.php

示例9: listFiles

 public function listFiles()
 {
     $paths = array('app' => APP . 'Config' . DS . 'Schema' . DS);
     $plugins = App::objects('plugin');
     CakePlugin::loadAll();
     foreach ($plugins as $plugin) {
         $paths[$plugin] = App::pluginPath($plugin) . 'Config' . DS . 'Schema' . DS;
     }
     $fileList = array();
     $folder = new Folder();
     foreach ($paths as $plugin => $path) {
         if ($folder->cd($path)) {
             $files = $folder->find('.*\\.mwb');
             if (!empty($files)) {
                 foreach ($files as $file) {
                     $pathinfo = pathinfo($file);
                     $fileList[] = array('name' => $plugin . '/' . $pathinfo['filename']);
                 }
             }
         }
     }
     return $fileList;
 }
开发者ID:asper,项目名称:mwb,代码行数:23,代码来源:Mwb.php

示例10: testNoTestCaseSupplied

 /**
  * testNoTestCaseSupplied method
  *
  * @access public
  * @return void
  */
 function testNoTestCaseSupplied()
 {
     if (php_sapi_name() != 'cli') {
         unset($_GET['group']);
         CodeCoverageManager::start(substr(md5(microtime()), 0, 5), new CakeHtmlReporter());
         CodeCoverageManager::report(false);
         $this->assertError();
         CodeCoverageManager::start('libs/' . basename(__FILE__), new CakeHtmlReporter());
         CodeCoverageManager::report(false);
         $this->assertError();
         $path = LIBS;
         if (strpos(LIBS, ROOT) === false) {
             $path = ROOT . DS . LIBS;
         }
         App::import('Core', 'Folder');
         $folder = new Folder();
         $folder->cd($path);
         $contents = $folder->ls();
         /**
          * remove method
          *
          * @param mixed $var
          * @access public
          * @return void
          */
         function remove($var)
         {
             return $var != basename(__FILE__);
         }
         $contents[1] = array_filter($contents[1], "remove");
         foreach ($contents[1] as $file) {
             CodeCoverageManager::start('libs' . DS . $file, new CakeHtmlReporter());
             CodeCoverageManager::report(false);
             $this->assertNoErrors('libs' . DS . $file);
         }
     }
 }
开发者ID:subh,项目名称:raleigh-workshop-08,代码行数:43,代码来源:code_coverage_manager.test.php

示例11: testNoTestCaseSuppliedNoErrors

 /**
  * Test that test cases don't cause errors
  *
  * @return void
  */
 function testNoTestCaseSuppliedNoErrors()
 {
     if ($this->skipIf(PHP_SAPI == 'cli', 'Is cli, cannot run this test %s')) {
         return;
     }
     $reporter =& new CakeHtmlReporter(null, array('group' => false, 'app' => false, 'plugin' => false));
     $path = LIBS;
     if (strpos(LIBS, ROOT) === false) {
         $path = ROOT . DS . LIBS;
     }
     App::import('Core', 'Folder');
     $folder = new Folder();
     $folder->cd($path);
     $contents = $folder->read();
     $contents[1] = array_filter($contents[1], array(&$this, '_basenameFilter'));
     foreach ($contents[1] as $file) {
         CodeCoverageManager::init('libs' . DS . $file, $reporter);
         CodeCoverageManager::report(false);
         $this->assertNoErrors('libs' . DS . $file);
     }
 }
开发者ID:andrelotto,项目名称:Coordino,代码行数:26,代码来源:code_coverage_manager.test.php

示例12: get_all_app_controllers

 public function get_all_app_controllers()
 {
     $controllers = array();
     App::uses('Folder', 'Utility');
     $folder = new Folder();
     $didCD = $folder->cd(APP . 'Controller');
     if (!empty($didCD)) {
         $files = $folder->findRecursive('.*Controller\\.php');
         foreach ($files as $fileName) {
             $file = basename($fileName);
             // Get the controller name
             //$controller_class_name = Inflector::camelize(substr($file, 0, strlen($file) - strlen('Controller.php')));
             $controller_class_name = Inflector::camelize(substr($file, 0, strlen($file) - strlen('.php')));
             App::uses($controller_class_name, 'Controller');
             $controllers[] = array('file' => $fileName, 'name' => substr($controller_class_name, 0, strlen($controller_class_name) - strlen('Controller')));
         }
     }
     sort($controllers);
     return $controllers;
 }
开发者ID:oguzhanaltan,项目名称:Cakephp-ACL-Management-And-Auth,代码行数:20,代码来源:AclReflectorComponent.php

示例13: strtotime

 function __loadDbItems()
 {
     // variable used to determine the read dir time
     $acdate = strtotime("now");
     // check to see whether a valid directory was passed to the script
     if ($this->Session->read('User.dirname_get')) {
         // if it is valid, we'll set it as the directory to read data from
         $this->dirpath = $this->Session->read('User.dirname_get');
     } else {
         // if it is invalid, we'll use the default directory
         $this->dirpath = Configure::read('default_get_dir');
     }
     // use Folder class
     $dir = new Folder($this->dirpath);
     // try to change the current working directory to the one from wich i want to read contents from
     if (!$dir->cd($this->dirpath)) {
         // if the change failed, I'll use the default directory
         $this->dirpath = Configure::read('default_get_dir');
         $dir->cd(Configure::read('default_get_dir'));
     }
     // once the current working directory is set, it is opened and read from
     $dir_listing = $dir->read(true, false, true);
     if ($dir_listing) {
         // while there are still entries
         foreach ($dir_listing[1] as $entry) {
             // if the entry is to be shown (not part of the 'not_to_be_shown' array)
             if (!in_array($entry, Configure::read('not_to_be_shown'))) {
                 $file = new File($entry);
                 if ($file->readable()) {
                     // store the file extension
                     $fext = $file->ext();
                     // store the filename
                     $fname = $file->name;
                     // store the lowercased extension
                     $lfext = strtolower($fext);
                     // store size of file into KB
                     $fsize = round($file->size() / 1024, 2);
                     // store date of file
                     $fidate = $file->lastChange();
                     // store dirpath with file
                     $finfokey = $entry;
                     // store absfilename
                     $fnameabs = $file->name();
                     // define check for filestatus_status (if updated)
                     $update_status = Configure::read('msg_items_file_unselected');
                     // check table fileinfo for update or insert
                     $file_info = $this->FileInfo->find('first', array('conditions' => array('fileinfo_id' => $finfokey), 'fields' => array('fileinfo_id', 'fileinfo_filedate')));
                     if (!empty($file_info)) {
                         $this->FileInfo->read(null, $file_info['FileInfo']['fileinfo_id']);
                         $this->FileInfo->set(array('fileinfo_dirname' => $this->dirpath, 'fileinfo_filename' => $fname, 'fileinfo_absfilename' => $fnameabs, 'fileinfo_ext' => $lfext, 'fileinfo_size' => $fsize, 'fileinfo_filedate' => $fidate, 'fileinfo_timenow' => $acdate));
                         $this->FileInfo->save();
                         // check data modified file is changed
                         if ($fidate > $file_info['FileInfo']['fileinfo_filedate']) {
                             $update_status = Configure::read('msg_items_file_updated');
                         }
                     } else {
                         $this->FileInfo->create();
                         $this->FileInfo->set(array('fileinfo_id' => $finfokey, 'fileinfo_dirname' => $this->dirpath, 'fileinfo_filename' => $fname, 'fileinfo_absfilename' => $fnameabs, 'fileinfo_ext' => $lfext, 'fileinfo_size' => $fsize, 'fileinfo_filedate' => $fidate, 'fileinfo_timenow' => $acdate));
                         $this->FileInfo->save();
                     }
                     // check table filestatus for update or insert
                     $file_status = $this->FileStatus->find('first', array('conditions' => array('filestatus_fileinfo_key' => $finfokey, 'filestatus_users_id' => $this->Session->read('User.id')), 'fields' => array('filestatus_id', 'filestatus_status')));
                     if (!empty($file_status)) {
                         if ($file_status['FileStatus']['filestatus_status'] == Configure::read('msg_items_file_selected') && $update_status != Configure::read('msg_items_file_updated')) {
                             $update_status = Configure::read('msg_items_file_selected');
                         }
                         $this->FileStatus->read(null, $file_status['FileStatus']['filestatus_id']);
                         $this->FileStatus->set(array('filestatus_status' => $update_status, 'filestatus_users_id' => $this->Session->read('User.id'), 'filestatus_timenow' => $acdate));
                         $this->FileStatus->save();
                     } else {
                         $this->FileStatus->create();
                         $this->FileStatus->set(array('filestatus_fileinfo_key' => $finfokey, 'filestatus_status' => $update_status, 'filestatus_users_id' => $this->Session->read('User.id'), 'filestatus_timenow' => $acdate));
                         $this->FileStatus->save();
                     }
                 }
             }
         }
         // check consistency : delete from db files that's removed from directory
         $file_info_del = $this->FileInfo->deleteAll(array('fileinfo_timenow < ' => $acdate));
         if (!$file_info_del) {
             $this->log('DownloadsController:__loadDbItems - Unable delete FileInfo model record', Configure::read('log_file'));
         }
         // check consistency : delete from db files that's removed from directory
         $file_status_del = $this->FileStatus->deleteAll(array('filestatus_timenow < ' => $acdate, 'filestatus_users_id' => $this->Session->read('User.id')));
         if (!$file_status_del) {
             $this->log('DownloadsController:__loadDbItems - Unable delete FileStatus model record', Configure::read('log_file'));
         }
     }
 }
开发者ID:lcento,项目名称:getput-cake,代码行数:89,代码来源:downloads_controller.php

示例14: Folder

 /**
  * Checks to see if the temporary plugin folder exists
  * and creates it if it does not
  *
  * @return void
  * @author Jose Diaz-Gonzalez
  **/
 function __checkPluginFolder()
 {
     $tempHandler = new Folder();
     $tempPath = trim(TMP);
     $pluginPath = trim(TMP . 'plugins');
     $tempHandler->cd($tempPath);
     $temp = $tempHandler->ls();
     foreach ($temp[0] as $tempFolder) {
         if ($tempFolder !== 'plugins') {
             $tempHandler->create($pluginPath);
         }
     }
 }
开发者ID:josegonzalez,项目名称:cakephp-github-plugin-plugin,代码行数:20,代码来源:install.php

示例15: Folder

 /**
  * Creates thumbnail folders if they do not already exist
  *
  * @param string $dir Path to uploads
  * @param array $thumbsizes List of names of thumbnail type
  * @return void
  * @access protected
  */
 function _createFolders($dir, $thumbsizes)
 {
     if ($dir[0] !== '/') {
         $dir = WWW_ROOT . $dir;
     }
     $folder = new Folder();
     if (!$folder->cd($dir)) {
         $folder->create($dir);
     }
     if (!$folder->cd($dir . DS . 'thumb')) {
         $folder->create($dir . DS . 'thumb');
     }
     foreach ($thumbsizes as $thumbName) {
         if (!$folder->cd($dir . DS . 'thumb' . DS . $thumbName)) {
             $folder->create($dir . DS . 'thumb' . DS . $thumbName);
         }
     }
 }
开发者ID:johnulist,项目名称:adrotator,代码行数:26,代码来源:meio_upload.php


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