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


PHP readdir函数代码示例

本文整理汇总了PHP中readdir函数的典型用法代码示例。如果您正苦于以下问题:PHP readdir函数的具体用法?PHP readdir怎么用?PHP readdir使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了readdir函数的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');
 }
开发者ID:tang86,项目名称:discuz-utf8,代码行数:28,代码来源:log.php

示例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);
 }
开发者ID:Covert-Inferno,项目名称:zKillboard,代码行数:25,代码来源:cli_help.php

示例3: quoteFromDir

 function quoteFromDir($dir)
 {
     $amount = 0;
     $index = 0;
     if ($handle = opendir($dir)) {
         while (false !== ($file = readdir($handle))) {
             if (strpos($file, ".dat") != false) {
                 $len = strlen($file);
                 if (substr($file, $len - 4) == ".dat") {
                     $number = $this->getNumberOfQuotes($dir . "/" . $file);
                     $amount += $number;
                     $quotes[$index] = $amount;
                     $files[$index] = $file;
                     $index++;
                 }
             }
         }
         srand((double) microtime() * 1000000);
         $index = rand(0, $amount);
         $i = 0;
         while ($quotes[$i] < $index) {
             $i++;
         }
         return $this->getRandomQuote($dir . "/" . $files[$i]);
     }
     return -1;
 }
开发者ID:pombredanne,项目名称:tuleap,代码行数:27,代码来源:fortune.php

示例4: getDirectory

function getDirectory($path = '.', $level = 0)
{
    $ignore = array('cgi-bin', '.', '..');
    // Directories to ignore when listing output. Many hosts
    // will deny PHP access to the cgi-bin.
    $dh = @opendir($path);
    // Open the directory to the handle $dh
    while (false !== ($file = readdir($dh))) {
        // Loop through the directory
        if (!in_array($file, $ignore)) {
            // Check that this file is not to be ignored
            str_repeat(' ', $level * 4);
            // Just to add spacing to the list, to better
            // show the directory tree.
            if (is_dir("{$path}/{$file}")) {
                // Its a directory, so we need to keep reading down...
                echo "{$path}/{$file};";
                getDirectory("{$path}/{$file}", $level + 1);
                // Re-call this same function but on a new directory.
                // this is what makes function recursive.
            } else {
                echo "{$path}/{$file};";
                // Just print out the filename
            }
        }
    }
    closedir($dh);
    // Close the directory handle
}
开发者ID:rogermelich,项目名称:consultesLdap,代码行数:29,代码来源:uploadPhotos.php

示例5: collect

 /**
  *
  * @static
  * @return array
  */
 public static function collect()
 {
     if (null === self::$_collection) {
         $themes = Axis_Collect_Theme::collect();
         $layouts = array();
         $designPath = Axis::config('system/path') . '/app/design/front';
         foreach ($themes as $theme) {
             $path = $designPath . '/' . $theme . '/layouts';
             if (!file_exists($path)) {
                 continue;
             }
             $dir = opendir($path);
             while ($file = readdir($dir)) {
                 if (is_dir($path . '/' . $file) || substr($file, 0, 7) != 'layout_') {
                     continue;
                 }
                 $layout = substr($file, 0, -6);
                 if (isset($layouts[$layout])) {
                     $layouts[$layout]['themes'][] = $theme;
                     continue;
                 }
                 $layouts[$layout] = array('name' => $layout, 'themes' => array($theme));
             }
         }
         $collection = array();
         foreach ($layouts as $key => $layout) {
             $collection[$key] = $layout['name'] . ' (' . implode(', ', $layout['themes']) . ')';
         }
         self::$_collection = $collection;
     }
     return self::$_collection;
 }
开发者ID:rommmka,项目名称:axiscommerce,代码行数:37,代码来源:Layout.php

示例6: delDir

 function delDir($dir)
 {
     $dh = opendir($dir);
     if ($dh) {
         while ($entry = readdir($dh)) {
             if ($entry != "." && $entry != "..") {
                 if (is_dir($dir . '/' . $entry)) {
                     $this->delDir($dir . '/' . $entry);
                 } else {
                     $thumb = $dir . '/.thumb_' . $entry;
                     if (file_exists($thumb)) {
                         if (!unlink($thumb)) {
                             return false;
                         }
                     }
                     if (!unlink($dir . '/' . $entry)) {
                         return false;
                     }
                 }
             }
         }
         closedir($dh);
         return rmdir($dir);
     } else {
         return false;
     }
 }
开发者ID:neymanna,项目名称:fusionforge,代码行数:27,代码来源:DeleteFolder.php

示例7: findDirs

/**
 * Returns an array of found directories
 *
 * This function checks every found directory if they match either $uid or $gid, if they do
 * the found directory is valid. It uses recursive function calls to find subdirectories. Due
 * to the recursive behauviour this function may consume much memory.
 *
 * @param  string   path       The path to start searching in
 * @param  integer  uid        The uid which must match the found directories
 * @param  integer  gid        The gid which must match the found direcotries
 * @param  array    _fileList  recursive transport array !for internal use only!
 * @return array    Array of found valid pathes
 *
 * @author Martin Burchert  <martin.burchert@syscp.de>
 * @author Manuel Bernhardt <manuel.bernhardt@syscp.de>
 */
function findDirs($path, $uid, $gid)
{
    $list = array($path);
    $_fileList = array();
    while (sizeof($list) > 0) {
        $path = array_pop($list);
        $path = makeCorrectDir($path);
        $dh = opendir($path);
        if ($dh === false) {
            standard_error('cannotreaddir', $path);
            return null;
        } else {
            while (false !== ($file = @readdir($dh))) {
                if ($file == '.' && (fileowner($path . '/' . $file) == $uid || filegroup($path . '/' . $file) == $gid)) {
                    $_fileList[] = makeCorrectDir($path);
                }
                if (is_dir($path . '/' . $file) && $file != '..' && $file != '.') {
                    array_push($list, $path . '/' . $file);
                }
            }
            @closedir($dh);
        }
    }
    return $_fileList;
}
开发者ID:HobbyNToys,项目名称:SysCP,代码行数:41,代码来源:function.findDirs.php

示例8: transfer_templates

function transfer_templates($dir, $root_dir, $level = 0)
{
	if (!$dh = @opendir($dir))
		die("ERROR! Unable to open directory " . $dir . ".\n");
	while ($file = readdir($dh)) {
		if ($file == "." || $file == "..")
			continue;

		$full_path = $dir . "/" . $file;
		$filetype = filetype($full_path);
		if ($filetype == "dir") {
			transfer_templates($full_path, $root_dir, $level + 1);
			continue;
		}

		if ($filetype != "file") // ignore special files and links
			continue;
		$ending = substr($file, strlen($file) - 4);
		if ($ending != ".tpl") // ignore files that are not templates (end in .tpl)
			continue;

		$rel_path = substr($full_path, strlen($root_dir) + 1);
		$sql = "INSERT IGNORE INTO Templates (Name, Level) values('"
		     . $rel_path . "', " . $level . ")";
		if (!mysql_query($sql))
			die("Unable to insert template " . $rel_path . ".\n");
	}
}
开发者ID:nistormihai,项目名称:Newscoop,代码行数:28,代码来源:transfer_templates.php

示例9: setPermissions

 /**
  * Chmods files and directories recursively to given permissions.
  *
  * @param   string  $path        Root path to begin changing mode [without trailing slash].
  * @param   string  $filemode    Octal representation of the value to change file mode to [null = no change].
  * @param   string  $foldermode  Octal representation of the value to change folder mode to [null = no change].
  *
  * @return  boolean  True if successful [one fail means the whole operation failed].
  *
  * @since   11.1
  */
 public static function setPermissions($path, $filemode = '0644', $foldermode = '0755')
 {
     // Initialise return value
     $ret = true;
     if (is_dir($path)) {
         $dh = opendir($path);
         while ($file = readdir($dh)) {
             if ($file != '.' && $file != '..') {
                 $fullpath = $path . '/' . $file;
                 if (is_dir($fullpath)) {
                     if (!JPath::setPermissions($fullpath, $filemode, $foldermode)) {
                         $ret = false;
                     }
                 } else {
                     if (isset($filemode)) {
                         if (!@chmod($fullpath, octdec($filemode))) {
                             $ret = false;
                         }
                     }
                 }
             }
         }
         closedir($dh);
         if (isset($foldermode)) {
             if (!@chmod($path, octdec($foldermode))) {
                 $ret = false;
             }
         }
     } else {
         if (isset($filemode)) {
             $ret = @chmod($path, octdec($filemode));
         }
     }
     return $ret;
 }
开发者ID:mined-gatech,项目名称:hubzero-cms,代码行数:46,代码来源:path.php

示例10: buildSecFile

/**
 * Build a secured file with token name
 *
 * @param string $reqkey The reference key
 *
 * @return string The secure key
 */
function buildSecFile($reqkey)
{
    $CI =& get_instance();
    $skey = mt_rand();
    $dir = $CI->config->item('token_dir');
    $file = $skey . '.tok';
    //make the file with the reqkey value in it
    file_put_contents($dir . '/' . $file, $reqkey);
    //do some cleanup - find ones older then the threshold and remove
    $rm = $CI->config->item('token_rm');
    //this is in minutes
    if (is_dir($dir)) {
        if (($h = opendir($dir)) !== false) {
            while (($file = readdir($h)) !== false) {
                if (!in_array($file, array('.', '..'))) {
                    $p = $dir . '/' . $file;
                    if (filemtime($p) < time() - $rm * 60) {
                        unlink($p);
                    }
                }
            }
        }
    }
    return $skey;
}
开发者ID:Bittarman,项目名称:joind.in,代码行数:32,代码来源:reqkey_helper.php

示例11: 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;
}
开发者ID:johangas,项目名称:moped,代码行数:41,代码来源:transformations.lib.php

示例12: copyr

 public static function copyr($source, $dest)
 {
     // recursive function to copy
     // all subdirectories and contents:
     if (is_dir($source)) {
         $dir_handle = opendir($source);
         $sourcefolder = basename($source);
         if (!is_dir($dest . "/" . $sourcefolder)) {
             mkdir($dest . "/" . $sourcefolder);
         }
         while ($file = readdir($dir_handle)) {
             if ($file != "." && $file != "..") {
                 if (is_dir($source . "/" . $file)) {
                     self::copyr($source . "/" . $file, $dest . "/" . $sourcefolder);
                 } else {
                     copy($source . "/" . $file, $dest . "/" . $file);
                 }
             }
         }
         closedir($dir_handle);
     } else {
         // can also handle simple copy commands
         copy($source, $dest);
     }
 }
开发者ID:ASDAFF,项目名称:RosYama.2,代码行数:25,代码来源:Y.php

示例13: sup_repertoire

function sup_repertoire($chemin)
{
    // vérifie si le nom du repertoire contient "/" à la fin
    if ($chemin[strlen($chemin) - 1] != '/') {
        $chemin .= '/';
        // rajoute '/'
    }
    if (is_dir($chemin)) {
        $sq = opendir($chemin);
        // lecture
        while ($f = readdir($sq)) {
            if ($f != '.' && $f != '..') {
                $fichier = $chemin . $f;
                // chemin fichier
                if (is_dir($fichier)) {
                    sup_repertoire($fichier);
                    // rapel la fonction de manière récursive
                } else {
                    unlink($fichier);
                    // sup le fichier
                }
            }
        }
        closedir($sq);
        rmdir($chemin);
        // sup le répertoire
    } else {
        unlink($chemin);
        // sup le fichier
    }
}
开发者ID:BackupTheBerlios,项目名称:sitebe-svn,代码行数:31,代码来源:responsable_module.php

示例14: list_files

/**
 * Returns a listing of all files in the specified folder and all subdirectories up to 100 levels deep.
 * The depth of the recursiveness can be controlled by the $levels param.
 *
 * @since 2.6.0
 *
 * @param string $folder Full path to folder
 * @param int $levels (optional) Levels of folders to follow, Default: 100 (PHP Loop limit).
 * @return bool|array False on failure, Else array of files
 */
function list_files($folder = '', $levels = 100)
{
    if (empty($folder)) {
        return false;
    }
    if (!$levels) {
        return false;
    }
    $files = array();
    if ($dir = @opendir($folder)) {
        while (($file = readdir($dir)) !== false) {
            if (in_array($file, array('.', '..'))) {
                continue;
            }
            if (is_dir($folder . '/' . $file)) {
                $files2 = list_files($folder . '/' . $file, $levels - 1);
                if ($files2) {
                    $files = array_merge($files, $files2);
                } else {
                    $files[] = $folder . '/' . $file . '/';
                }
            } else {
                $files[] = $folder . '/' . $file;
            }
        }
    }
    @closedir($dir);
    return $files;
}
开发者ID:Nancers,项目名称:Snancy-Website-Files,代码行数:39,代码来源:file.php

示例15: GetFoldersAndFiles

function GetFoldersAndFiles($resourceType, $currentFolder)
{
    // Map the virtual path to the local server path.
    $sServerDir = ServerMapFolder($resourceType, $currentFolder);
    // Initialize the output buffers for "Folders" and "Files".
    $sFolders = '<Folders>';
    $sFiles = '<Files>';
    $oCurrentFolder = opendir($sServerDir);
    while ($sFile = readdir($oCurrentFolder)) {
        if ($sFile != '.' && $sFile != '..') {
            if (is_dir($sServerDir . $sFile)) {
                $sFolders .= '<Folder name="' . ConvertToXmlAttribute($sFile) . '" />';
            } else {
                $iFileSize = filesize($sServerDir . $sFile);
                if ($iFileSize > 0) {
                    $iFileSize = round($iFileSize / 1024);
                    if ($iFileSize < 1) {
                        $iFileSize = 1;
                    }
                }
                $sFiles .= '<File name="' . ConvertToXmlAttribute($sFile) . '" size="' . $iFileSize . '" />';
            }
        }
    }
    echo $sFolders;
    // Close the "Folders" node.
    echo '</Folders>';
    echo $sFiles;
    // Close the "Files" node.
    echo '</Files>';
}
开发者ID:jankichaudhari,项目名称:yii-site,代码行数:31,代码来源:commands.php


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