新手:php如何按照文件名的顺序读取文件名

新手:php如何按照文件名的顺序读取文件名,php,include,Php,Include,我想根据名称“包括”php文件中的最后两个文件 因此,这些名称是: 01-blahbla.php 02-sdfsdff.php 03-aaaaaaa.php 04-bbbbbbb.php 05-wwwwwwi.php 01-blahbla.php 02-sdfsdff.php 03-aaaaa.php 04-bbb.php 05-wwi.php 我只想包括05和04,因为它们的名字以最大的数字开头 如何继续执行此操作?将目录内容列成一个数组。 使用内置的PHP排序函数对该数组进行排序。 对数组的

我想根据名称“包括”php文件中的最后两个文件

因此,这些名称是:

01-blahbla.php 02-sdfsdff.php 03-aaaaaaa.php 04-bbbbbbb.php 05-wwwwwwi.php 01-blahbla.php 02-sdfsdff.php 03-aaaaa.php 04-bbb.php 05-wwi.php 我只想包括05和04,因为它们的名字以最大的数字开头


如何继续执行此操作?

将目录内容列成一个数组。 使用内置的PHP排序函数对该数组进行排序。
对数组的前两个元素执行require_once()

假设文件夹中只有编号的文件,您可以使用

$files = glob('/path/to/files/*.php'); // get all php files in path
natsort($files);                       // sort in natural ascending order
$highest = array_pop($files);          // get last file, e.g. highest number
$second  = array_pop($files);          // again for second highest number

将值放入数组中,使用反向排序,然后取前两个值:

$values = array('01-blahbla.php', '02-sdfsdff.php', '03-aaaaaaa.php', '04-bbbbbbb.php', '05-wwwwwwi.php');
rsort($values);
$file1 = $values[0];
$file2 = $values[1];
require_once $file1;
require_once $file2;
PHP.net上的PHP手册中有一些关于各种排序方法的重要信息

更新:

正如Psytronic所指出的,rsort不适用于数字,但您可以创建一个自定义函数,轻松完成相同的任务:

function rnatsort(&$values) {
  natsort($values);
  return array_reverse($values, true);
}
$files = rnatsort($values);

使用“包含”我的php文件中的最后2个文件,您的意思是要将文件夹中的文件包含到php文件中?或者在php文件中有文件列表吗?rsort不起作用,因为它不会对它们进行数字排序,即100在20之前。