本文整理汇总了PHP中Ak::make_dir方法的典型用法代码示例。如果您正苦于以下问题:PHP Ak::make_dir方法的具体用法?PHP Ak::make_dir怎么用?PHP Ak::make_dir使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Ak
的用法示例。
在下文中一共展示了Ak::make_dir方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: generate
function generate()
{
$this->_preloadPaths();
$this->class_name = AkInflector::camelize($this->class_name);
$files = array(
'mailer'=>AkInflector::toModelFilename($this->class_name),
'unit_test'=>AK_TEST_DIR.DS.'unit'.DS.'app'.DS.'models'.DS.$this->underscored_class_name.'.php'
);
foreach ($files as $template=>$file_path){
$this->save($file_path, $this->render($template));
}
$mailer_views_folder = AK_VIEWS_DIR.DS.AkInflector::underscore($this->class_name);
@Ak::make_dir($mailer_views_folder);
foreach ($this->actions as $action){
$this->assignVarToTemplate('action', $action);
$path = $mailer_views_folder.DS.$action.'.tpl';
$this->assignVarToTemplate('path', $path);
$this->save($path, $this->render('view'));
}
}
示例2: generate
function generate()
{
$this->_preloadPaths();
$this->save(AK_APP_DIR . DS . $this->controller_path, $this->render('controller'));
$this->save(AK_HELPERS_DIR . DS . $this->underscored_controller_name . "_helper.php", $this->render('helper'));
$this->save(AK_TEST_DIR . DS . 'functional' . DS . $this->controller_path, $this->render('functional_test'));
$this->save(AK_TEST_DIR . DS . 'fixtures' . DS . 'app' . DS . $this->controller_path, $this->render('fixture'));
$this->save(AK_TEST_DIR . DS . 'fixtures' . DS . 'app' . DS . 'helpers' . DS . $this->underscored_controller_name . "_helper.php", $this->render('helper_fixture'));
@Ak::make_dir(AK_VIEWS_DIR . DS . $this->module_path . AkInflector::underscore($this->controller_name));
foreach ($this->actions as $action) {
//$this->action = $action;
$this->assignVarToTemplate('action', $action);
$this->assignVarToTemplate('path', 'AK_VIEWS_DIR.DS.\'' . $this->module_path . AkInflector::underscore($this->controller_name) . '/' . $action . '.tpl\'');
$this->save(AK_VIEWS_DIR . DS . $this->module_path . AkInflector::underscore($this->controller_name) . DS . $action . '.tpl', $this->render('view'));
}
}
示例3: copy
/**
* This static method will copy recursively all the files or directories from one
* path within an Akelos application to another.
*
* It uses current installation settings, so it can perform copies via the filesystem or via FTP
*/
function copy($origin, $target, $options = array())
{
$default_options = array('ftp' => defined('AK_UPLOAD_FILES_USING_FTP') && AK_UPLOAD_FILES_USING_FTP, 'base_path' => AK_BASE_DIR);
$options = array_merge($default_options, $options);
$sucess = true;
$origin = Ak::_getRestrictedPath($origin, $options);
$target = Ak::_getRestrictedPath($target, $options);
if (empty($origin) || empty($target)) {
return false;
}
if ($options['ftp']) {
require_once AK_LIB_DIR . DS . 'AkFtp.php';
}
$destination = str_replace($origin, $target, $origin);
if (is_file($options['base_path'] . DS . $origin)) {
return Ak::file_put_contents($options['base_path'] . DS . $destination, Ak::file_get_contents($options['base_path'] . DS . $origin, $options), $options);
}
Ak::make_dir($options['base_path'] . DS . $destination);
if ($fs_items = glob($options['base_path'] . DS . $origin . "/*")) {
$items_to_copy = array('directories' => array(), 'files' => array());
foreach ($fs_items as $fs_item) {
$items_to_copy[is_dir($fs_item) ? 'directories' : 'files'][] = $fs_item;
}
foreach ($items_to_copy['files'] as $file) {
$destination = str_replace($origin, $target, $file);
$sucess = $sucess ? Ak::file_put_contents($destination, Ak::file_get_contents($file, $options), $options) : $sucess;
}
foreach ($items_to_copy['directories'] as $directory) {
$destination = str_replace($origin, $target, $directory);
$sucess = $sucess ? Ak::copy($directory, $destination, $options) : $sucess;
}
}
return $sucess;
}
示例4: make_dir
function make_dir($path, $options = array())
{
$default_options = array('ftp' => defined('AK_READ_FILES_USING_FTP') && AK_READ_FILES_USING_FTP, 'base_path' => AK_BASE_DIR);
$options = array_merge($default_options, $options);
$path = trim(str_replace($options['base_path'], '', $path), DS);
if ($options['ftp']) {
require_once AK_LIB_DIR . DS . 'AkFtp.php';
$path = trim(str_replace(array(DS, '//'), array('/', '/'), $path), '/');
return AkFtp::make_dir($path);
} else {
$path = $options['base_path'] . DS . $path;
if (!file_exists($path)) {
Ak::make_dir(dirname($path), $options);
return mkdir($path);
}
}
return false;
}
示例5: test_should_delete_nested_directories_when_include_hidden_files
public function test_should_delete_nested_directories_when_include_hidden_files()
{
$tmp_dir = AK_TMP_DIR . DS . Ak::randomString();
$hidden_tmp_dir = $tmp_dir . DS . '.hidden';
Ak::make_dir($tmp_dir, array('base_path' => AK_TMP_DIR));
Ak::make_dir($tmp_dir . DS . '.hidden', array('base_path' => AK_TMP_DIR));
$this->assertTrue(is_dir($hidden_tmp_dir), 'Could not create test directory ' . $hidden_tmp_dir);
$this->assertTrue(Ak::directory_delete($tmp_dir, array('base_path' => AK_TMP_DIR)));
clearstatcache();
$this->assertFalse(is_dir($tmp_dir));
}
示例6: init
/**
* Class constructor (ALA Akelos Framework)
*
* This method loads an instance of selected driver in order to
* use it class wide.
*
* @access public
* @param mixed $options You can pass a number specifying the second for
* the cache to expire or an array with the
* following options:
*
* <code>
* $options = array(
* //This options are valid for both cache contains (database and file based)
* 'lifeTime' => cache lifetime in seconds
* (int),
* 'memoryCaching' => enable / disable memory caching (boolean),
* 'automaticSerialization' => enable / disable automatic serialization (boolean)
*
* //This options are for file based cache
* 'cacheDir' => directory where to put the cache files (string),
* 'caching' => enable / disable caching (boolean),
* 'fileLocking' => enable / disable fileLocking (boolean),
* 'writeControl' => enable / disable write control (boolean),
* 'readControl' => enable / disable read control (boolean),
* 'readControlType' => type of read control
* 'crc32', 'md5', 'strlen' (string),
* 'pearErrorMode' => pear error mode (when raiseError is called) (cf PEAR doc) (int),
* 'onlyMemoryCaching' => enable / disable only memory caching (boolean),
* 'memoryCachingLimit' => max nbr of records to store into memory caching (int),
* 'fileNameProtection' => enable / disable automatic file name protection (boolean),
* 'automaticCleaningFactor' => distable / tune automatic cleaning process (int)
* 'hashedDirectoryLevel' => level of the hashed directory system (int)
* );
* </code>
* @param integer $cache_type The default value is set by defining the constant AK_CACHE_HANDLER in the following line
*
* <code>define ('AK_CACHE_HANDLER', 1);</code>
*
* in the ''config/config.php'' file
*
* Possible values are:
*
* - 0: No cache at all
* - 1: File based cache using the folder defined at AK_CACHE_DIR or the system /tmp dir
* - 2: Database based cache. This one has a performance penalty, but works on most servers
* - 3: Memcached - The fastest option
* @return void
*/
function init($options = null, $cache_type = null)
{
$options = is_int($options) ? array('lifeTime' => $options) : (is_array($options) ? $options : array());
switch ($cache_type) {
case 1:
$this->cache_enabled = true;
if (!class_exists('Cache_Lite')) {
require_once AK_CONTRIB_DIR . '/pear/Cache_Lite/Lite.php';
}
if (!isset($options['cacheDir'])) {
$options['cacheDir'] = AK_CACHE_DIR . DS;
} else {
$options['cacheDir'] .= DS;
}
if (!is_dir($options['cacheDir'])) {
Ak::make_dir($options['cacheDir'], array('base_path' => dirname($options['cacheDir'])));
}
$this->_driverInstance =& new Cache_Lite($options);
break;
case 2:
require_once AK_LIB_DIR . '/AkCache/AkAdodbCache.php';
$this->_driverInstance =& new AkAdodbCache();
$res = $this->_driverInstance->init($options);
$this->cache_enabled = $res;
break;
case 3:
require_once AK_LIB_DIR . '/AkCache/AkMemcache.php';
$this->_driverInstance =& new AkMemcache();
$res = $this->_driverInstance->init($options);
$this->cache_enabled = $res;
break;
default:
$this->cache_enabled = false;
break;
}
}
示例7: _copyRemoteDir
/**
* Copy recursively a remote svn dir into a local path.
*
* Downloads recursively the contents of remote directories from a mod_svn Apache subversion interface to a local destination.
*
* File or directory permissions are not copied, so you will need to use installers to fix it if required.
*
* @param string $source An Apache mod_svn interface to subversion URL.
* @param string $destination Destination directory
* @return void
* @access private
*/
function _copyRemoteDir($source, $destination)
{
$dir_name = trim(substr($source, strrpos(rtrim($source, '/'), '/')),'/');
Ak::make_dir($destination.DS.$dir_name);
list($directories, $files) = $this->_parseRemoteAndGetDirectoriesAndFiles($source);
foreach ($files as $file){
$this->_copyRemoteFile($source.$file, $destination.DS.$dir_name.DS.$file);
}
foreach ($directories as $directory){
$this->_copyRemoteDir($source.$directory.'/', $destination.DS.$dir_name);
}
}
示例8: test_should_delete_nested_directories_when_include_hidden_files
function test_should_delete_nested_directories_when_include_hidden_files()
{
$dir_name = AK_TMP_DIR . Ak::randomString();
Ak::make_dir($dir_name);
Ak::make_dir($dir_name . DS . '.hidden');
$this->assertTrue(is_dir($dir_name), 'Could not create test directory ' . $dir_name);
$this->assertTrue(Ak::directory_delete($dir_name));
clearstatcache();
$this->assertFalse(is_dir($dir_name));
}