本文整理汇总了PHP中closedir函数的典型用法代码示例。如果您正苦于以下问题:PHP closedir函数的具体用法?PHP closedir怎么用?PHP closedir使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了closedir函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: onls
function onls()
{
$logdir = UC_ROOT . 'data/logs/';
$dir = opendir($logdir);
$logs = $loglist = array();
while ($entry = readdir($dir)) {
if (is_file($logdir . $entry) && strpos($entry, '.php') !== FALSE) {
$logs = array_merge($logs, file($logdir . $entry));
}
}
closedir($dir);
$logs = array_reverse($logs);
foreach ($logs as $k => $v) {
if (count($v = explode("\t", $v)) > 1) {
$v[3] = $this->date($v[3]);
$v[4] = $this->lang[$v[4]];
$loglist[$k] = $v;
}
}
$page = max(1, intval($_GET['page']));
$start = ($page - 1) * UC_PPP;
$num = count($loglist);
$multipage = $this->page($num, UC_PPP, $page, 'admin.php?m=log&a=ls');
$loglist = array_slice($loglist, $start, UC_PPP);
$this->view->assign('loglist', $loglist);
$this->view->assign('multipage', $multipage);
$this->view->display('admin_log');
}
示例2: listCommands
private static function listCommands()
{
$commands = array();
$dir = __DIR__;
if ($handle = opendir($dir)) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != ".." && $entry != "base.php") {
$s1 = explode("cli_", $entry);
$s2 = explode(".php", $s1[1]);
if (sizeof($s2) == 2) {
require_once "{$dir}/{$entry}";
$command = $s2[0];
$className = "cli_{$command}";
$class = new $className();
if (is_a($class, "cliCommand")) {
$commands[] = $command;
}
}
}
}
closedir($handle);
}
sort($commands);
return implode(" ", $commands);
}
示例3: wm_chief_delpath
function wm_chief_delpath($del_path)
{
if (!file_exists($del_path)) {
echo "Directory not found.";
return false;
}
$hand = @opendir($del_path);
$i = 0;
while ($file = @readdir($hand)) {
$i++;
if ($file != "." && $file != "..") {
//目录
if (is_dir($del_path . "/" . $file)) {
$del_s_path = $del_path . "/" . $file;
$this->wm_chief_delpath($del_s_path);
} else {
$del_file = $del_path . "/" . $file;
$this->wm_chief_file($del_file);
}
}
}
@closedir($hand);
$this->wm_chief_path($del_path);
return true;
}
示例4: getElementsData
function getElementsData() {
$elements_dirname = ADMIN_BASE_PATH.'/components/elements';
if ($elements_dir = opendir($elements_dirname)) {
$tmpArray = array();
while (false !== ($dir = readdir($elements_dir))) {
if (substr($dir,0,1) != "." && is_dir($elements_dirname . '/' . $dir)) {
$tmpKey = strtolower($dir);
if (@file_exists($elements_dirname . '/' . $dir . '/metadata.json')) {
$tmpValue = json_decode(@file_get_contents($elements_dirname . '/' . $dir . '/metadata.json'));
if ($tmpValue) {
$tmpArray["$tmpKey"] = $tmpValue;
}
}
}
}
closedir($elements_dir);
if (count($tmpArray)) {
return $tmpArray;
} else {
return false;
}
} else {
echo 'not dir';
return false;
}
}
示例5: getFileList
/**
* Return array of filenames to convert
* @param string $dirName
* @return mixed
*/
function getFileList($dirName = null)
{
if (!is_string($dirName)) {
return false;
}
if (!is_dir($dirName)) {
return false;
}
if (!is_readable($dirName)) {
return false;
}
clearstatcache();
$ret_ar = array();
if (!($dh = opendir($dirName))) {
return false;
}
while (false !== ($file = readdir($dh))) {
if ($file == '..' or $file == '.') {
continue;
}
$cur_file = $dirName . '/' . $file;
if (is_dir($cur_file)) {
$tmp_ar = getFileList($cur_file);
if (is_array($tmp_ar)) {
$ret_ar = array_merge($ret_ar, $tmp_ar);
}
}
$ret_ar[] = $cur_file;
}
closedir($dh);
natcasesort($ret_ar);
return $ret_ar;
}
示例6: listCertificates
/**
* Returns all certificates trusted by the user
*
* @return \OCP\ICertificate[]
*/
public function listCertificates()
{
if (!$this->config->getSystemValue('installed', false)) {
return array();
}
$path = $this->getPathToCertificates() . 'uploads/';
if (!$this->view->is_dir($path)) {
return array();
}
$result = array();
$handle = $this->view->opendir($path);
if (!is_resource($handle)) {
return array();
}
while (false !== ($file = readdir($handle))) {
if ($file != '.' && $file != '..') {
try {
$result[] = new Certificate($this->view->file_get_contents($path . $file), $file);
} catch (\Exception $e) {
}
}
}
closedir($handle);
return $result;
}
示例7: chmod_R
function chmod_R($path, $filemode)
{
if (!is_dir($path)) {
return chmod($path, $filemode);
}
$dh = opendir($path);
while ($file = readdir($dh)) {
if ($file != '.' && $file != '..') {
$fullpath = $path . '/' . $file;
if (!is_dir($fullpath)) {
if (!chmod($fullpath, $filemode)) {
return FALSE;
}
} else {
if (!chmod_R($fullpath, $filemode)) {
return FALSE;
}
}
}
}
closedir($dh);
if (chmod($path, $filemode)) {
return true;
} else {
return false;
}
}
示例8: recursive_compile_all
/**
* Compiles all source templates below the source scheme directory
* including subdirectories
*
* @param string $ root directory name
* @param string $ path relative to root
* @return void
* @access protected
*/
function recursive_compile_all($root, $path)
{
if ($dh = opendir($root . $path))
{
while (($file = readdir($dh)) !== false)
{
if (substr($file, 0, 1) == '.')
{
continue;
}
if (is_dir($root . $path . $file))
{
recursive_compile_all($root, $path . $file . '/');
continue;
}
if (substr($file, -5, 5) == '.html')
{
compile_template_file($path . $file);
}
else if (substr($file, -5, 5) == '.vars')
{
compile_var_file($path . $file);
}
}
closedir($dh);
}
}
示例9: PMA_getAvailableMIMEtypes
/**
* Gets all available MIME-types
*
* @return array array[mimetype], array[transformation]
*
* @access public
*
* @author Garvin Hicking <me@supergarv.de>
*/
function PMA_getAvailableMIMEtypes()
{
$handle = opendir('./libraries/transformations');
$stack = array();
$filestack = array();
while (($file = readdir($handle)) != false) {
$filestack[$file] = $file;
}
closedir($handle);
if (is_array($filestack)) {
@ksort($filestack);
foreach ($filestack as $key => $file) {
if (preg_match('|^.*__.*\\.inc\\.php$|', trim($file))) {
// File contains transformation functions.
$base = explode('__', str_replace('.inc.php', '', $file));
$mimetype = str_replace('_', '/', $base[0]);
$stack['mimetype'][$mimetype] = $mimetype;
$stack['transformation'][] = $mimetype . ': ' . $base[1];
$stack['transformation_file'][] = $file;
} elseif (preg_match('|^.*\\.inc\\.php$|', trim($file))) {
// File is a plain mimetype, no functions.
$base = str_replace('.inc.php', '', $file);
if ($base != 'global') {
$mimetype = str_replace('_', '/', $base);
$stack['mimetype'][$mimetype] = $mimetype;
$stack['empty_mimetype'][$mimetype] = $mimetype;
}
}
}
}
return $stack;
}
示例10: directoryToArray
/**
* Get an array that represents directory tree
*
* from http://php.net/manual/en/function.scandir.php
* @param string $directory Directory path
* @param bool $recursive Include sub directories
* @param bool $listDirs Include directories on listing
* @param bool $listFiles Include files on listing
* @param regex $exclude Exclude paths that matches this regex
*/
function directoryToArray($directory, $recursive = true, $listDirs = false, $listFiles = true, $exclude = '')
{
$arrayItems = array();
$skipByExclude = false;
$handle = opendir($directory);
if ($handle) {
while (false !== ($file = readdir($handle))) {
preg_match("/(^(([\\.]){1,2})\$|(\\.(svn|git|md))|(Thumbs\\.db|\\.DS_STORE))\$/iu", $file, $skip);
if ($exclude) {
preg_match($exclude, $file, $skipByExclude);
}
if (!$skip && !$skipByExclude) {
if (is_dir($directory . DIRECTORY_SEPARATOR . $file)) {
if ($recursive) {
$arrayItems = array_merge($arrayItems, directoryToArray($directory . DIRECTORY_SEPARATOR . $file, $recursive, $listDirs, $listFiles, $exclude));
}
if ($listDirs) {
$file = $directory . DIRECTORY_SEPARATOR . $file;
$arrayItems[] = $file;
}
} else {
if ($listFiles) {
$file = $directory . DIRECTORY_SEPARATOR . $file;
$arrayItems[] = $file;
}
}
}
}
closedir($handle);
}
return $arrayItems;
}
示例11: getDirectorySize
function getDirectorySize($path)
{
$totalsize = 0;
$totalcount = 0;
$dircount = 0;
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
$nextpath = $path . '/' . $file;
if ($file != '.' && $file != '..' && !is_link($nextpath)) {
if (is_dir($nextpath)) {
$dircount++;
$result = getDirectorySize($nextpath);
$totalsize += $result['size'];
$totalcount += $result['count'];
$dircount += $result['dircount'];
} elseif (is_file($nextpath)) {
$totalsize += filesize($nextpath);
$totalcount++;
}
}
}
}
closedir($handle);
$total['size'] = $totalsize;
$total['count'] = $totalcount;
$total['dircount'] = $dircount;
return $total;
}
示例12: listDir
function listDir($dir){
if(is_dir($dir)){
if ($dh = opendir($dir)) {
while (($file= readdir($dh)) !== false){
if((is_dir($dir."/".$file)) && $file!="." && $file!="..")
{
if(is_writable($dir."/".$file)&&is_readable($dir."/".$file))
{
echo "<b><font color='red'>文件名:</font></b>".$dir.$file."<font color='red'> 可写</font><font color='Blue'> 可读</font>"."<br><hr>";
}else{
if(is_writable($dir."/".$file))
{
echo "<b><font color='red'>文件名:</font></b>".$dir.$file."<font color='red'> 可写</font>"."<br><hr>";
}else
{
echo "<b><font color='red'>文件名:</font></b>".$dir.$file."<font color='red'> 可读</font><font color='Blue'> 不可写</font>"."<br><hr>";
}
}
listDir($dir."/".$file."/");
}
}
}
closedir($dh);
}
}
示例13: search
/**
* recurse direcory
*
* This function recurses into a given base directory
* and calls the supplied function for each file and directory
*
* @param array ref $data The results of the search are stored here
* @param string $base Where to start the search
* @param callback $func Callback (function name or arayy with object,method)
* @param string $dir Current directory beyond $base
* @param int $lvl Recursion Level
* @author Andreas Gohr <andi@splitbrain.org>
*/
function search(&$data, $base, $func, $opts, $dir = '', $lvl = 1)
{
$dirs = array();
$files = array();
//read in directories and files
$dh = @opendir($base . '/' . $dir);
if (!$dh) {
return;
}
while (($file = readdir($dh)) !== false) {
if (preg_match('/^[\\._]/', $file)) {
continue;
}
//skip hidden files and upper dirs
if (is_dir($base . '/' . $dir . '/' . $file)) {
$dirs[] = $dir . '/' . $file;
continue;
}
$files[] = $dir . '/' . $file;
}
closedir($dh);
sort($files);
sort($dirs);
//give directories to userfunction then recurse
foreach ($dirs as $dir) {
if (call_user_func_array($func, array(&$data, $base, $dir, 'd', $lvl, $opts))) {
search($data, $base, $func, $opts, $dir, $lvl + 1);
}
}
//now handle the files
foreach ($files as $file) {
call_user_func_array($func, array(&$data, $base, $file, 'f', $lvl, $opts));
}
}
示例14: add
/**
* Adds files or directories, recursively, to an archive.
*
* @param string file or directory to add
* @param string name to use for the given file or directory
* @param bool add files recursively, used with directories
* @return object
*/
public function add($path, $name = NULL, $recursive = NULL)
{
// Normalize to forward slashes
$path = str_replace('\\', '/', $path);
// Set the name
empty($name) and $name = $path;
if (is_dir($path)) {
// Force directories to end with a slash
$path = rtrim($path, '/') . '/';
$name = rtrim($name, '/') . '/';
// Add the directory to the paths
$this->paths[] = array($path, $name);
if ($recursive === TRUE) {
$dir = opendir($path);
while (($file = readdir($dir)) !== FALSE) {
// Do not add hidden files or directories
if (substr($file, 0, 1) === '.') {
continue;
}
// Add directory contents
$this->add($path . $file, $name . $file, TRUE);
}
closedir($dir);
}
} else {
$this->paths[] = array($path, $name);
}
return $this;
}
示例15: getDirContent
function getDirContent($sub)
{
global $allowed_types;
global $a_img;
global $a_path;
global $imgdir, $smarty;
$allimg = array();
$tmp = $imgdir;
if ($sub <> "") $tmp.= '/' . $sub;
if (!@($dimg = opendir($tmp))) {
$msg = tra("Invalid directory name");
$smarty->assign('msg', $msg);
$smarty->display("error.tpl");
die;
}
while ((false !== ($imgf = readdir($dimg)))) {
if ($imgf != "." && $imgf != ".." && substr($imgf, 0, 1) != ".") {
$allimg[] = $imgf;
}
}
sort($allimg);
foreach ($allimg as $imgfile) {
if (is_dir($tmp . "/" . $imgfile)) {
if ((substr($sub, -1) <> "/") && (substr($sub, -1) <> "\\")) {
$sub.= '/';
}
getDirContent($sub . $imgfile);
} elseif (in_array(strtolower(substr($imgfile, -(strlen($imgfile) - strrpos($imgfile, ".")))), $allowed_types)) {
$a_img[] = $imgfile;
$a_path[] = $sub;
}
}
closedir($dimg);
}