本文整理汇总了PHP中protect_directory函数的典型用法代码示例。如果您正苦于以下问题:PHP protect_directory函数的具体用法?PHP protect_directory怎么用?PHP protect_directory使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了protect_directory函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: make_localcache_directory
/**
* Create a directory under localcachedir and make sure it is writable.
* The files in this directory MUST NOT change, use revisions or content hashes to
* work around this limitation - this means you can only add new files here.
*
* The content of this directory gets purged automatically on all cluster nodes
* after calling purge_all_caches() before new data is written to this directory.
*
* Note: this local cache directory does not need to be shared by cluster nodes.
*
* @param string $directory the relative path of the directory to be created under $CFG->localcachedir
* @param bool $exceptiononerror throw exception if error encountered
* @return string|false Returns full path to directory if successful, false if not; may throw exception
*/
function make_localcache_directory($directory, $exceptiononerror = true)
{
global $CFG;
make_writable_directory($CFG->localcachedir, $exceptiononerror);
if ($CFG->localcachedir !== "{$CFG->dataroot}/localcache") {
protect_directory($CFG->localcachedir);
} else {
protect_directory($CFG->dataroot);
}
if (!isset($CFG->localcachedirpurged)) {
$CFG->localcachedirpurged = 0;
}
$timestampfile = "{$CFG->localcachedir}/.lastpurged";
if (!file_exists($timestampfile)) {
touch($timestampfile);
@chmod($timestampfile, $CFG->filepermissions);
} else {
if (filemtime($timestampfile) < $CFG->localcachedirpurged) {
// This means our local cached dir was not purged yet.
remove_dir($CFG->localcachedir, true);
if ($CFG->localcachedir !== "{$CFG->dataroot}/localcache") {
protect_directory($CFG->localcachedir);
}
touch($timestampfile);
@chmod($timestampfile, $CFG->filepermissions);
clearstatcache();
}
}
if ($directory === '') {
return $CFG->localcachedir;
}
return make_writable_directory("{$CFG->localcachedir}/{$directory}", $exceptiononerror);
}
示例2: make_cache_directory
/**
* Create a directory under cachedir and make sure it is writable.
*
* @param string $directory the full path of the directory to be created under $CFG->cachedir
* @param bool $exceptiononerror throw exception if error encountered
* @return string|false Returns full path to directory if successful, false if not; may throw exception
*/
function make_cache_directory($directory, $exceptiononerror = true)
{
global $CFG;
if ($CFG->cachedir !== "{$CFG->dataroot}/cache") {
check_dir_exists($CFG->cachedir, true, true);
protect_directory($CFG->cachedir);
} else {
protect_directory($CFG->dataroot);
}
return make_writable_directory("{$CFG->cachedir}/{$directory}", $exceptiononerror);
}
示例3: make_cache_directory
/**
* Create a directory under cachedir and make sure it is writable.
*
* @param string $directory the full path of the directory to be created under $CFG->cachedir
* @param bool $exceptiononerror throw exception if error encountered
* @return string|false Returns full path to directory if successful, false if not; may throw exception
*/
function make_cache_directory($directory, $exceptiononerror = true)
{
global $CFG;
protect_directory($CFG->cachedir);
return make_writable_directory("{$CFG->cachedir}/{$directory}", $exceptiononerror);
}