本文整理汇总了PHP中glob函数的典型用法代码示例。如果您正苦于以下问题:PHP glob函数的具体用法?PHP glob怎么用?PHP glob使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了glob函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: run
/**
* {@inheritdoc}
*/
public function run()
{
if (is_null($this->dst) || "" === $this->dst) {
return Result::error($this, 'You must specify a destination file with to() method.');
}
if (!$this->checkResources($this->files, 'file')) {
return Result::error($this, 'Source files are missing!');
}
if (file_exists($this->dst) && !is_writable($this->dst)) {
return Result::error($this, 'Destination already exists and cannot be overwritten.');
}
$dump = '';
foreach ($this->files as $path) {
foreach (glob($path) as $file) {
$dump .= file_get_contents($file) . "\n";
}
}
$this->printTaskInfo('Writing {destination}', ['destination' => $this->dst]);
$dst = $this->dst . '.part';
$write_result = file_put_contents($dst, $dump);
if (false === $write_result) {
@unlink($dst);
return Result::error($this, 'File write failed.');
}
// Cannot be cross-volume; should always succeed.
@rename($dst, $this->dst);
return Result::success($this);
}
开发者ID:greg-1-anderson,项目名称:Robo,代码行数:31,代码来源:Concat.php
示例2: renderContent
public function renderContent($args, $setting)
{
$t = array('name' => '', 'image_folder_path' => '', 'limit' => 12, 'columns' => 4);
$protocol = !empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443 ? "https://" : "http://";
$url = Tools::htmlentitiesutf8($protocol . $_SERVER['HTTP_HOST'] . __PS_BASE_URI__);
$setting = array_merge($t, $setting);
$oimages = array();
if ($setting['image_folder_path']) {
$path = _PS_ROOT_DIR_ . '/' . trim($setting['image_folder_path']) . '/';
$path = str_replace("//", "/", $path);
if (is_dir($path)) {
$images = glob($path . '*.*');
$exts = array('jpg', 'gif', 'png');
foreach ($images as $cnt => $image) {
$ext = Tools::substr($image, Tools::strlen($image) - 3, Tools::strlen($image));
if (in_array(Tools::strtolower($ext), $exts)) {
if ($cnt < (int) $setting['limit']) {
$i = str_replace("\\", "/", '' . $setting['image_folder_path'] . "/" . basename($image));
$i = str_replace("//", "/", $i);
$oimages[] = $url . $i;
}
}
}
}
}
$images = array();
$setting['images'] = $oimages;
$output = array('type' => 'image', 'data' => $setting);
return $output;
}
开发者ID:ekachandrasetiawan,项目名称:BeltcareCom,代码行数:30,代码来源:image.php
示例3: run
public static function run()
{
foreach (glob(app_path() . '/Http/Controllers/*.php') as $filename) {
$file_parts = explode('/', $filename);
$file = array_pop($file_parts);
$file = rtrim($file, '.php');
if ($file == 'Controller') {
continue;
}
$controllerName = 'App\\Http\\Controllers\\' . $file;
$controller = new $controllerName();
if (isset($controller->exclude) && $controller->exclude === true) {
continue;
}
$methods = [];
$reflector = new \ReflectionClass($controller);
foreach ($reflector->getMethods(\ReflectionMethod::IS_PUBLIC) as $rMethod) {
// check whether method is explicitly defined in this class
if ($rMethod->getDeclaringClass()->getName() == $reflector->getName()) {
$methods[] = $rMethod->getName();
}
}
\Route::resource(strtolower(str_replace('Controller', '', $file)), $file, ['only' => $methods]);
}
}
开发者ID:avnir,项目名称:easyrouting,代码行数:25,代码来源:Easyrouting.php
示例4: template
/**
* Compiles a template and writes it to a cache file, which is used for inclusion.
*
* @param string $file The full path to the template that will be compiled.
* @param array $options Options for compilation include:
* - `path`: Path where the compiled template should be written.
* - `fallback`: Boolean indicating that if the compilation failed for some
* reason (e.g. `path` is not writable), that the compiled template
* should still be returned and no exception be thrown.
* @return string The compiled template.
*/
public static function template($file, array $options = array())
{
$cachePath = Libraries::get(true, 'resources') . '/tmp/cache/templates';
$defaults = array('path' => $cachePath, 'fallback' => false);
$options += $defaults;
$stats = stat($file);
$oname = basename(dirname($file)) . '_' . basename($file, '.php');
$oname .= '_' . ($stats['ino'] ?: hash('md5', $file));
$template = "template_{$oname}_{$stats['mtime']}_{$stats['size']}.php";
$template = "{$options['path']}/{$template}";
if (file_exists($template)) {
return $template;
}
$compiled = static::compile(file_get_contents($file));
if (is_writable($cachePath) && file_put_contents($template, $compiled) !== false) {
foreach (glob("{$options['path']}/template_{$oname}_*.php", GLOB_NOSORT) as $expired) {
if ($expired !== $template) {
unlink($expired);
}
}
return $template;
}
if ($options['fallback']) {
return $file;
}
throw new TemplateException("Could not write compiled template `{$template}` to cache.");
}
开发者ID:fedeisas,项目名称:lithium,代码行数:38,代码来源:Compiler.php
示例5: rglob
function rglob($pattern, $files = 1, $dirs = 0, $flags = 0)
{
$dirname = dirname($pattern);
$basename = basename($pattern);
$glob = glob($pattern, $flags);
$files = array();
$dirlist = array();
foreach ($glob as $path) {
if (is_file($path) && !$files) {
continue;
}
if (is_dir($path)) {
$dirlist[] = $path;
if (!$dirs) {
continue;
}
}
$files[] = $path;
}
foreach (glob("{$dirname}/*", GLOB_ONLYDIR | GLOB_NOSORT) as $dir) {
$dirfiles = rglob($dir . '/' . $basename, $files, $dirs, $flags);
$files = array_merge($files, $dirfiles);
}
return $files;
}
开发者ID:jaredballou,项目名称:squad-tools,代码行数:25,代码来源:functions.php
示例6: runUnitTests
public function runUnitTests($tests)
{
// Build any unit tests
$this->make('build-tests');
// Now find all the test programs
$root = $this->getProjectRoot();
$test_dir = $root . "/tests/";
$futures = array();
if (!$tests) {
$paths = glob($test_dir . "*.t");
} else {
$paths = array();
foreach ($tests as $path) {
$tpath = preg_replace('/\\.c$/', '.t', $path);
if (preg_match("/\\.c\$/", $path) && file_exists($tpath)) {
$paths[] = realpath($tpath);
}
}
}
foreach ($paths as $test) {
$relname = substr($test, strlen($test_dir));
$futures[$relname] = new ExecFuture($test);
}
$results = array();
$futures = new FutureIterator($futures);
foreach ($futures->limit(4) as $test => $future) {
list($err, $stdout, $stderr) = $future->resolve();
$results[] = $this->parseTestResults($test, $err, $stdout, $stderr);
}
return $results;
}
开发者ID:rogerwangzy,项目名称:watchman,代码行数:31,代码来源:WatchmanTapEngine.php
示例7: mbAutoload
/**
* Mediboard class autoloader
*
* @param string $class Class to be loaded
*
* @return bool
*/
function mbAutoload($class)
{
$file_exists = false;
$time = microtime(true);
// Entry already in cache
if (isset(CApp::$classPaths[$class])) {
// The class is known to not be in MB
if (CApp::$classPaths[$class] === false) {
return false;
}
// Load it if we can
if ($file_exists = file_exists(CApp::$classPaths[$class])) {
CApp::$performance["autoloadCount"]++;
return include_once CApp::$classPaths[$class];
}
}
// File moved ?
if (!$file_exists) {
unset(CApp::$classPaths[$class]);
}
// CSetup* class
if (preg_match('/^CSetup(.+)$/', $class, $matches)) {
$dirs = array("modules/{$matches['1']}/setup.php");
} else {
$class_file = $class;
$suffix = ".class";
// Namespaced class
if (strpos($class_file, "\\") !== false) {
$namespace = explode("\\", $class_file);
// Mediboard class
if ($namespace[0] === "Mediboard") {
array_shift($namespace);
$class_file = implode("/", $namespace);
} else {
$class_file = "vendor/" . implode("/", $namespace);
$suffix = "";
}
}
$class_file .= $suffix;
$dirs = array("classes/{$class_file}.php", "classes/*/{$class_file}.php", "mobile/*/{$class_file}.php", "modules/*/classes/{$class_file}.php", "modules/*/classes/*/{$class_file}.php", "modules/*/classes/*/*/{$class_file}.php", "install/classes/{$class_file}.php");
}
$rootDir = CAppUI::conf("root_dir");
$class_path = false;
foreach ($dirs as $dir) {
$files = glob("{$rootDir}/{$dir}");
foreach ($files as $filename) {
include_once $filename;
// The class was found
if (class_exists($class, false) || interface_exists($class, false)) {
$class_path = $filename;
break 2;
}
}
}
// Class not found, it is not in MB
CApp::$classPaths[$class] = $class_path;
SHM::put("class-paths", CApp::$classPaths);
CApp::$performance["autoload"][$class] = (microtime(true) - $time) * 1000;
return $class_path !== false;
}
开发者ID:fbone,项目名称:mediboard4,代码行数:67,代码来源:autoload.php
示例8: loadAll
function loadAll($directory)
{
$directory = dirname(__FILE__) . "/../{$directory}";
foreach (glob("{$directory}/*.php") as $filename) {
require_once $filename;
}
}
开发者ID:mict404,项目名称:owaspctf,代码行数:7,代码来源:config.inc.php
示例9: load_classes
/**
* Scans the plugins subfolder and include files
*
* @since 05/02/2013
* @return void
*/
protected function load_classes()
{
// load required classes
foreach (glob(dirname(__FILE__) . '/inc/*.php') as $path) {
require_once $path;
}
}
开发者ID:ramiabraham,项目名称:WordPress-Admin-Style,代码行数:13,代码来源:wp-admin-style.php
示例10: getTodayImage
/**
* 取得今天要顯示的圖片
* @return 圖片的完整路徑 (含檔名)
* FALSE: 找不到圖片
**/
function getTodayImage($orgimg)
{
global $chroot, $imgext;
$dir = $chroot;
$now = date('Ymd');
$imglst = array();
foreach (array_keys($imgext) as $ext) {
foreach (glob($dir . "*.{$ext}") as $filename) {
$name = basename($filename, ".{$ext}");
if (!is_numeric($name) || strlen($name) != 8) {
continue;
}
if (strcmp($now, $name) < 0) {
continue;
}
$imglst[$name] = $filename;
}
}
if (count($imglst) <= 0) {
setCache($orgimg);
return FALSE;
} else {
krsort($imglst);
$img = array_shift($imglst);
setCache($img);
return $img;
}
}
开发者ID:wildskyf,项目名称:www.moztw.org,代码行数:33,代码来源:eventpic.php
示例11: pic_thumb
function pic_thumb($pic_id)
{
$this->load->helper('file');
$this->load->library('image_lib');
$base_path = "uploads/item_pics/" . $pic_id;
$images = glob($base_path . "*");
if (sizeof($images) > 0) {
$image_path = $images[0];
$ext = pathinfo($image_path, PATHINFO_EXTENSION);
$thumb_path = $base_path . $this->image_lib->thumb_marker . '.' . $ext;
if (sizeof($images) < 2) {
$config['image_library'] = 'gd2';
$config['source_image'] = $image_path;
$config['maintain_ratio'] = TRUE;
$config['create_thumb'] = TRUE;
$config['width'] = 52;
$config['height'] = 32;
$this->image_lib->initialize($config);
$image = $this->image_lib->resize();
$thumb_path = $this->image_lib->full_dst_path;
}
$this->output->set_content_type(get_mime_by_extension($thumb_path));
$this->output->set_output(file_get_contents($thumb_path));
}
}
开发者ID:Exactpk,项目名称:opensourcepos,代码行数:25,代码来源:items.php
示例12: template_list
/**
* 模板风格列表
* @param integer $siteid 站点ID,获取单个站点可使用的模板风格列表
* @param integer $disable 是否显示停用的{1:是,0:否}
*/
function template_list($siteid = '', $disable = 0)
{
$list = glob(PC_PATH . 'templates' . DIRECTORY_SEPARATOR . '*', GLOB_ONLYDIR);
$arr = $template = array();
if ($siteid) {
$site = pc_base::load_app_class('sites', 'admin');
$info = $site->get_by_id($siteid);
if ($info['template']) {
$template = explode(',', $info['template']);
}
}
foreach ($list as $key => $v) {
$dirname = basename($v);
if ($siteid && !in_array($dirname, $template)) {
continue;
}
if (file_exists($v . DIRECTORY_SEPARATOR . 'config.php')) {
$arr[$key] = (include $v . DIRECTORY_SEPARATOR . 'config.php');
if (!$disable && isset($arr[$key]['disable']) && $arr[$key]['disable'] == 1) {
unset($arr[$key]);
continue;
}
} else {
$arr[$key]['name'] = $dirname;
}
$arr[$key]['dirname'] = $dirname;
}
return $arr;
}
开发者ID:baowzh,项目名称:fulianweb,代码行数:34,代码来源:global.func.php
示例13: indexAction
/**
* @Route("/", methods="GET")
* @Request({"folder": "string"})
*/
public function indexAction($folder = '')
{
$images = [];
$folder = trim($folder, '/');
$pttrn = '/\\.(jpg|jpeg|gif|png)$/i';
$dir = App::path();
if (!($files = glob($dir . '/' . $folder . '/*'))) {
return [];
}
foreach ($files as $img) {
// extension filter
if (!preg_match($pttrn, $img)) {
continue;
}
$data = array();
$data['filename'] = basename($img);
// remove extension
$data['title'] = preg_replace('/\\.[^.]+$/', '', $data['filename']);
// remove leading number
$data['title'] = preg_replace('/^\\d+\\s?+/', '', $data['title']);
// remove trailing numbers
$data['title'] = preg_replace('/\\s?+\\d+$/', '', $data['title']);
// replace underscores with space and add capital
$data['title'] = ucfirst(trim(str_replace(['_', '-'], ' ', $data['title'])));
$data['image']['src'] = $folder . '/' . basename($img);
$data['image']['alt'] = $data['title'];
$images[] = $data;
}
return $images;
}
开发者ID:Bixie,项目名称:pagekit-framework,代码行数:34,代码来源:ImageApiController.php
示例14: getFieldTypes
/**
* @return array
*/
public function getFieldTypes($extension = null)
{
//todo cache this
if (!$this->fieldTypes) {
$this->fieldTypes = [];
/** @noinspection PhpUnusedLocalVariableInspection */
$app = App::getInstance();
//available for index.php files
$paths = [];
foreach (App::module() as $module) {
if ($module->get('fieldtypes')) {
$paths = array_merge($paths, glob(sprintf('%s/%s/*/index.php', $module->path, $module->get('fieldtypes')), GLOB_NOSORT) ?: []);
}
}
foreach ($paths as $p) {
$package = array_merge(['id' => '', 'path' => dirname($p), 'main' => '', 'extensions' => $this->fieldExtensions, 'class' => '\\Bixie\\Framework\\FieldType\\FieldType', 'resource' => 'bixie/framework:app/bundle', 'config' => ['hasOptions' => 0, 'readonlyOptions' => 0, 'required' => 0, 'multiple' => 0], 'dependancies' => [], 'styles' => [], 'getOptions' => '', 'prepareValue' => '', 'formatValue' => ''], include $p);
$this->registerFieldType($package);
}
}
if ($extension) {
return array_filter($this->fieldTypes, function ($fieldType) use($extension) {
/** @var FieldTypeBase $fieldType */
return in_array($extension, $fieldType->getExtensions());
});
}
return $this->fieldTypes;
}
开发者ID:Bixie,项目名称:pagekit-framework,代码行数:30,代码来源:FrameworkModule.php
示例15: index
public function index()
{
$dirs = glob(APP_PATH . C("APP_GROUP_PATH") . DIRECTORY_SEPARATOR . '*');
foreach ($dirs as $path) {
if (is_dir($path)) {
$path = basename($path);
$dirs_arr[] = $path;
}
}
//数量
$total = count($dirs_arr);
//把一个数组分割为新的数组块
$dirs_arr = array_chunk($dirs_arr, 20, true);
//当前分页
$page = max(intval($_GET['page']), 1);
$directory = $dirs_arr[intval($page - 1)];
$pages = $this->page($total, 20);
$modulesdata = M("Module")->select();
foreach ($modulesdata as $v) {
$modules[$v['module']] = $v;
}
$this->assign("Page", $pages->show("Admin"));
$this->assign("data", $directory);
$this->assign("modules", $modules);
$this->display();
}
开发者ID:BGCX262,项目名称:ztoa-svn-to-git,代码行数:26,代码来源:ModuleAction.class.php
示例16: encode_send_filelist
function encode_send_filelist($blobdir)
{
$xhprofiled_files_list = array();
global $doc_root;
if (file_exists("{$blobdir}/manifest.json")) {
$manifest = json_decode(file_get_contents("{$blobdir}/manifest.json"));
foreach ($manifest as $page => $data) {
list($xhprof, $samples) = $data;
if (is_array($samples)) {
$samples = count($samples);
}
if (isset($data[2])) {
$memory_prof = $data[2];
} else {
$memory_prof = "MemDisabled";
}
$xhprofiled_files_list[$page . " (" . $samples . ")[{$memory_prof}]"] = "{$blobdir}/{$xhprof}";
}
} else {
foreach (glob($blobdir . "/*") as $filename) {
preg_match("/[0-9]{10}\\.(.*).xhprof\$/", $filename, $match);
if (!$match) {
continue;
}
$xhprofiled_files_list[$match[1]] = $filename;
}
}
echo json_encode($xhprofiled_files_list);
}
开发者ID:shourya07,项目名称:zperfmon,代码行数:29,代码来源:ExtractProfileFilename.php
示例17: iterateFolder
private function iterateFolder($folder, $find)
{
$files = glob($folder);
foreach ($files as $file) {
if (filetype($file) == 'dir') {
$this->iterateFolder($file . "/*", $find);
}
if ($this->isIncludedModule($file)) {
$this->current_file = $file;
switch (basename($file)) {
case 'service.config.php':
case 'services.config.php':
$this->getInvokables($file);
break;
case 'autoload_classmap.php':
case 'module.config.php':
break;
case 'Module.php':
$this->modules_filepath[] = dirname($file);
break;
default:
$this->searchUsed($file, $find);
break;
}
}
}
}
开发者ID:planktonfun,项目名称:zf2elayout,代码行数:27,代码来源:ModuleLocatorService.php
示例18: getAccessibilityScope
/**
* Get Global Application CMS accessibility scope.
*
* @access public
* @static
* @uses Core\Config()
*
* @return array
*/
public static function getAccessibilityScope()
{
$scope = glob(Core\Config()->paths('mode') . 'controllers' . DIRECTORY_SEPARATOR . '*.php');
$builtin_scope = array('CMS\\Controllers\\CMS');
$builtin_actions = array();
$accessibility_scope = array();
foreach ($builtin_scope as $resource) {
$builtin_actions = array_merge($builtin_actions, get_class_methods($resource));
}
$builtin_actions = array_filter($builtin_actions, function ($action) {
return !in_array($action, array('create', 'show', 'edit', 'delete', 'export'), true);
});
foreach ($scope as $resource) {
$resource = basename(str_replace('.php', '', $resource));
if ($resource !== 'cms') {
$controller_name = '\\CMS\\Controllers\\' . $resource;
$controller_class = new \ReflectionClass($controller_name);
if (!$controller_class->isInstantiable()) {
continue;
}
/* Create instance only if the controller class is instantiable */
$controller_object = new $controller_name();
if ($controller_object instanceof CMS\Controllers\CMS) {
$accessibility_scope[$resource] = array_diff(get_class_methods($controller_name), $builtin_actions);
array_push($accessibility_scope[$resource], 'index');
foreach ($accessibility_scope[$resource] as $key => $action_with_acl) {
if (in_array($action_with_acl, $controller_object->skipAclFor, true)) {
unset($accessibility_scope[$resource][$key]);
}
}
}
}
}
return $accessibility_scope;
}
开发者ID:weareathlon,项目名称:silla.io,代码行数:44,代码来源:cmsusers.php
示例19: testCheckMetadataRelationshipNames
public function testCheckMetadataRelationshipNames()
{
$dictionary = array();
$ar = new TestAbstractRelationships();
$errMsg = "Relationship key discrepancy exists with key not being in AbstractRelationships->specialCaseBaseNames.";
$specialCaseBaseNames = $ar->getSpecialCaseBaseNames();
// load all files from metadata/ that could potentially have
// relationships in them
foreach (glob("metadata/*.php") as $filename) {
include $filename;
}
// load all relationships into AbstractRelationships->relationships
foreach ($dictionary as $key => $val) {
if (isset($dictionary[$key]['relationships'])) {
$relationships = $dictionary[$key]['relationships'];
foreach ($relationships as $relKey => $relVal) {
// if our key and relationship key are not equal
// check to make sure the key is in the special list
// otherwise we may have relationship naming issues down the road
if ($key !== $relKey) {
$this->assertContains($key, $specialCaseBaseNames, $errMsg);
}
}
}
}
}
开发者ID:jgera,项目名称:sugarcrm_dev,代码行数:26,代码来源:Bug33522Test.php
示例20: getTestsToRun
private function getTestsToRun()
{
$root = $this->getProjectRoot();
$test_dir = $root . "/tests/";
$tests = array();
foreach (glob($test_dir . "*.t") as $test) {
$relname = substr($test, strlen($test_dir));
$tests[$relname] = $test;
}
if (!$this->getRunAllTests()) {
/* run tests that sound similar to the modified paths */
printf("Finding tests based on name similarity\n");
printf("Use `arc unit --everything` to run them all\n");
$paths = array();
foreach ($this->getPaths() as $path) {
$paths[] = $this->stripName($path);
}
foreach ($tests as $relname => $test) {
$keep = false;
$strip = $this->stripName($relname);
foreach ($paths as $path) {
$pct = 0;
similar_text($path, $strip, $pct);
if ($pct > 55) {
$keep = true;
break;
}
}
if (!$keep) {
unset($tests[$relname]);
}
}
}
return $tests;
}
开发者ID:colindj,项目名称:libphenom,代码行数:35,代码来源:PhenomUnitEngine.php
注:本文中的glob函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论