草庐IT

php - 有没有办法只使用 glob() 文件?

我知道glob可以查找文件夹中的所有文件或仅查找所有目录:echo"Allfiles:\n";$all=glob("/*");var_dump($all);echo"Onlydirectories\n";$dirs=glob("/*",GLOB_ONLYDIR);var_dump($dirs);但我没有找到可以有效地仅在一行中查找文件的方法。$files=array_diff(glob("/*"),glob("/*",GLOB_ONLYDIR));工作正常但读取目录两次(即使有someoptimizations使第二次浏览更快)。 最佳答案

php - 可以使 PHP 的 glob() 以不区分大小写的方式查找文件吗?

我想要一个目录中的所有CSV文件,所以我使用glob('my/dir/*.CSV')但是,这不会找到具有小写CSV扩展名的文件。我可以使用glob('my/dir/*.{CSV,csv}',GLOB_BRACE);但是有没有办法允许所有混合大小写版本?或者这只是glob()的限制? 最佳答案 全局模式支持字符范围:glob('my/dir/*.[cC][sS][vV]') 关于php-可以使PHP的glob()以不区分大小写的方式查找文件吗?,我们在StackOverflow上找到一个类

php - glob() - 按上次修改的日期时间戳对文件数组进行排序

我正在尝试按日期(最后修改)的顺序显示一组文件。我已经完成了这个购买循环遍历数组并将其排序到另一个数组中,但是有没有更简单(更有效)的方法来做到这一点? 最佳答案 Warningcreate_function()hasbeenDEPRECATEDasofPHP7.2.0.Relyingonthisfunctionishighlydiscouraged.为了后代,如果接受的答案中链接的论坛帖子丢失或某些人不清楚,所需的相关代码是:在我的系统上对此进行了测试,并验证它确实按需要按文件mtime排序。我也使用了类似的方法(用Python编

c++ - cmake glob包含同时保留目录结构

我是cmake的新手,我正在尝试安装.hpp文件,同时保留目录结构。目前为止FILE(GLOBfiles"${CMAKE_CURRENT_SOURCE_DIR}/include/*.hpp""${CMAKE_CURRENT_SOURCE_DIR}/include/MyLib/*.hpp""${CMAKE_CURRENT_SOURCE_DIR}/include/MyLib/detail/*.hpp"install(FILES${files}DESTINATIONinclude)所有文件都已找到,但目录层次结构已展平。FWIW我试图模拟的bjam命令是installheaders:../i

javascript - Node.js 中的 glob 并仅返回匹配项(无前导路径)

我需要全局./../path/to/files/**/*.txt但不是像这样接收匹配:./../path/to/files/subdir/file.txt我需要去掉根:subdir/file.txt目前,我有:oldwd=process.cwd()process.chdir(__dirname+"/../path/to/files")glob.glob("**/*.txt",function(err,matches){process.chdir(oldwd)});但它有点难看,而且似乎还有一个竞争条件:有时glob出现在oldwd上。所以必须去。我正在考虑简单地映射matches并使用

node.js - 将 glob 扁平化到一个目录

在Gulp中,我使用gulp.src从目录中选择每个字体文件:gulp.task('copy-fonts',function(){gulp.src('components/**/*.{ttf,woff,eof,svg}').pipe(gulp.dest('build/fonts'));});但是,我希望将所有这些字体文件并排放在一个目录中,而不是从components目录重新创建整个树。查看Gulp、GulpUtils和npm-globAPI并没有真正帮助我,尽管我可以很容易地跳过它。最好的方法是什么? 最佳答案 我会使用gulp-

node.js - Glob/minimatch : how to gulp. src() 一切,然后排除文件夹但在其中保留一个文件

我有一个这样的项目:root|-incl1|-incl2|-...|-excl1|-excl2|-.gitignore我需要编写gulp.src(),它将包括除excl1和excl2but之外的所有文件夹保留.gitignore文件。这是我的代码不起作用:gulp.src([baseDir+'/**','!'+baseDir+'/{excl1,excl1/**}''!'+baseDir+'/excl2/{**,!.gitignore}'// 最佳答案 这似乎有效:gulp.src([baseDir+'/**',//Includeal

用于排除多个文件的 node.js glob 模式

我正在使用npm模块node-glob.此代码段递归返回当前工作目录中的所有文件。varglob=require('glob');glob('**/*',function(err,files){console.log(files);});样本输出:['index.html','js','js/app.js','js/lib.js']我想排除index.html和js/lib.js。我试图用否定模式'!'排除这些文件,但没有运气。有没有办法只通过使用模式来实现这一点? 最佳答案 我想这不再是实际的了,但我遇到了同样的问题并找到了答案。

javascript - 每个 .js 文件的 Node glob 模式,除了 .spec.js

我正在为usemin寻找更好的glob模式,我想找到所有.js文件,但不包括.spec.js文件。到目前为止,我有以下解决方案。我目前的解决方案要求我不断添加文件扩展名以排除它们,否则它们会被拾取,例如.html文件。我试图让它只寻找.js文件并排除.spec.js从他们那里,但它似乎不起作用。同时添加!components/**/*.spec.js因为下面的另一个脚本似乎不起作用。 最佳答案 这个glob包括所有*.js但不包括*.spec.js:components/**/!(*.spec).js

javascript - 使用 Gulp.js 和 globbing 模式就地修改文件(相同的目标)

我有一个gulp任务,它试图将.scss文件转换为.css文件(使用gulp-ruby-sass),然后将生成的.css文件放到它找到原始文件的同一位置。问题是,由于我使用的是通配模式,我不一定知道原始文件的存储位置。在下面的代码中,我尝试使用gulp-tap进入流并找出读取流的当前文件的文件路径:gulp.task('convertSass',function(){varfileLocation="";gulp.src("sass/**/*.scss").pipe(sass()).pipe(tap(function(file,t){fileLocation=path.dirname(