scandir - 对数字文件名进行排序

2024-01-18

做了一些搜索,但似乎找不到我正在寻找的确切答案。

我想使用“scandir($dir)”提取带有编号文件名的文件,但让它们正确排序。例如,文件名是:

1-something.ext

2-something-else.ext

3-a-third-name.ext

.

.

.

10-another-thing.ext

11-more-names.ext

我遇到的问题是 10-a-fourth-thing.ext 将显示在 2-something-else.ext 之前。我想找到一种比在所有文件名前面引入前导“0”更好的方法来解决此问题。

有什么想法吗?谢谢。


natsort http://www.php.net/manual/en/function.natsort.php正是您所需要的。

sort with SORT_NUMERIC也适用于以数字开头的文件名,但如果还有前面没有数字的名称,则会中断(所有非数字前缀名称将排序在数字前缀名称之前,并且它们相对于彼此的顺序将是随机的而不是按字母顺序)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

scandir - 对数字文件名进行排序 的相关文章

随机推荐

  • 使用 JavaScript 模拟浏览器缩放

    如何使用 JavaScript 缩小整个文档 我的目标是模仿内置浏览器缩放 将整个文档缩放到90 我尝试过使用 document body zoom 这仅适用于explorer并且页面变得混乱 很多元素在移动 有没有办法做到这一点 就这样
  • 错误 LNK2019:函数 ___tmainCRTStartup 中引用了无法解析的外部符号 _wWinMain@16

    我开始使用 DirectX 11 并收到以下编译错误 错误 1 错误 LNK2019 无法解析的外部符号函数 中引用了 wWinMain 16 tmainCRT启动 错误 2 error LNK1120 1 unresolved exter
  • 如何在java中表示带分数

    有一种方法可以表示分数here http commons apache org math apidocs org apache commons math fraction Fraction html 是否有一个清晰的抽象来表示带分数 以便可
  • 从 netstandard 转换为框架后,Visual Studio 2017 不将 csproj 视为有效的项目文件

    以下是在 VS Enterprise 2017 15 8 2 中完成的 我已将 NET Framework 项目 C 转换为 netstandard 然后由于构建问题而必须将其转换回来 转换是通过从 git 恢复以前的提交来完成的 但是 现
  • Volley 不为标准 POST 请求调用 getParams()

    我正在尝试使用 Android 中的 Volley 将一些参数发布到我的 Rails API 这是代码 我尝试使用两条日志语句 其中一条是getParams 另一个在getHeaders 那个在getHeaders 已记录 而另一个未记录
  • 如何在 jQuery 中修改序列化表单数据?

    我正在尝试在 AJAX 中提交表单 因此我必须序列化 数据 但我正在使用fckEditor并且 jQuery 不知道如何处理它 所以在序列化之后 我尝试手动修改该值 但到目前为止没有运气 任何想法 if content val var va
  • 杀死Linux中的进程[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 server01 ps ax grep java Warning bad ps syntax perhaps a bogus See ht
  • 密码错误 3 次:git 不再要求输入密码

    我想推送远程 git 存储库 我输入了错误的密码三次 我创建了一个新的 ssh 密钥并在存储库服务器上注册了新的公钥 但 ssh 代理不会提示输入密码 它只是不断地告诉我 权限被拒绝 公钥 致命 无法从远程读取 存储库 请确保您拥有正确的访
  • DDD 中两个限界上下文之间的通信

    我有几个不同的有界上下文在域中 CRUD 操作的验证是在每个限界上下文中构建的 例如 我可以仅当创建者是组长时才创建名为 GAME 的实体 在这个例子中我有两个有界上下文 BC 其一是Game BC另一个是User BC 为了解决这个问题
  • javax.el.E​​LException:无法将类型类 java.util.ArrayList 的 [light、amber、brown、dark] 转换为类 [Ljava.lang.String;

    我正在练习 Head First Servlets and JSP 书中的示例 我正在尝试创建一个简单的标签 其作用类似于html select标签 我根据书中给出的示例创建了 tld 标记处理程序和其余 servlet 以及 JSP 如需
  • 将 PartCover.NET 与 NAnt 集成

    我正在尝试将 PartCover NET 与 NAnt 和 CruiseControl NET 集成 我可以毫无问题地运行 PartCover NET 浏览器 但一旦我尝试在 NAnt 任务 在我的 CCNET 版本中 中运行它 它就无法工
  • 将子类转换为超类后调用方法的有趣行为

    class A int i 1 int f return i class B extends A int i 2 int Override f return i public class override test public stati
  • 在MySQL中存储图像[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 请给我在 MySQL 数据库中插入图像的查询 我是 stackoverflow 的新手 所以如果我的问题不符合标准 请忽略我 如果映像位于您
  • 人工智能中与最佳优先搜索相关的问题有哪些?

    我知道一般问题包括局部最大值和高原 但是我很好奇是否还有与此特定搜索相关的更多问题 以及为了克服这些问题我的最佳行动方案是什么 有人还可以给我一个例子 说明该搜索适合用于哪种类型的问题吗 最佳优先搜索的问题 它很贪婪 在许多情况下 它会带来
  • MySQL 中 utf8mb4 和 utf8 字符集有什么区别?

    有什么区别utf8mb4 and utf8字符集在MySQL 我已经知道了ASCII UTF 8 UTF 16 and UTF 32编码 但我很想知道有什么区别utf8mb4具有其他编码类型定义的编码组MySQL服务器 使用有什么特别的好处
  • TypeScript 使用实例访问静态变量

    所以在大多数OOP语言中静态变量也可以被称为class变量 即它们的值为shared在该类的所有实例中 例如 在我的游戏中我有一堂课Bullet其扩展为GreenBullet and PinkBullet 我希望这些子类有一个名为 类 或
  • 带有 date_trunk 函数和时区的 Django ORM

    我想用日期截断SQL 函数 但它似乎不适用于时区 使用 Django 进行测试 1 from django db import connection cursor connection cursor cursor execute SELEC
  • SVN 1.3 VS 1.5(最新)

    我们的IT人员已经安装了SVN 1 3 当前版本是1 5 我们正在从 CVS 迁移到 SVN 那么继续使用 1 3 会损失很多吗 我喜欢运行 CVS2SVN 并转移到 SVN 而不需要编写任何脚本 另外 在 CVS 中 我们的项目中有多个目
  • 如果视口为 480 像素或更小,请更改为 FullCalendar 中的 basicDay 视图?

    有没有一种简单的方法可以根据 FullCalendar 中的当前视口大小更改用户的视图 我想做的是在桌面上显示月视图 如果使用 iPhone 或移动设备则显示日视图 目前 使用月视图时 所有事件都被压缩在移动设备上 当前代码 documen
  • scandir - 对数字文件名进行排序

    做了一些搜索 但似乎找不到我正在寻找的确切答案 我想使用 scandir dir 提取带有编号文件名的文件 但让它们正确排序 例如 文件名是 1 something ext 2 something else ext 3 a third na