Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP排序opendir文件包括_Php_Sorting_Opendir - Fatal编程技术网

PHP排序opendir文件包括

PHP排序opendir文件包括,php,sorting,opendir,Php,Sorting,Opendir,我正在尝试对opendir()列表进行排序,以便它能够按照我命名的顺序显示信息 目录中的每个文件称为1_something.php、2_something.php、3_something.php等。这些文件是一小段模板化的html,我可以根据需要更改为任何内容 我正在使用下面的代码来提取和显示这些文件: $dir = "./portfolio"; if($handle = opendir($dir)) { while($file = readdir($handle)) {

我正在尝试对opendir()列表进行排序,以便它能够按照我命名的顺序显示信息

目录中的每个文件称为1_something.php、2_something.php、3_something.php等。这些文件是一小段模板化的html,我可以根据需要更改为任何内容

我正在使用下面的代码来提取和显示这些文件:

$dir = "./portfolio"; 
if($handle = opendir($dir)) { 
    while($file = readdir($handle)) { 
        clearstatcache(); 
        if(is_file($dir.'/'.$file)) {
            include("portfolio/".$file);
        }
    } 
closedir($handle); 
} 
我一直在尝试创建一个名称数组并对其进行排序,尽管我想我不知道数组发生在哪里,排序发生在哪里,以及信息的实际显示发生在哪里


提前谢谢。

Hm,有什么东西阻止你使用
scandir


嗯,有什么东西阻止你使用scandir吗

这一点值得赞扬

我只需添加另一行代码,以确保它只查看真实文件:下面的代码

$dir = "./portfolio"; 
$files = scandir($dir); // returns array of files, sorted alphabetically

foreach($files as $file) {
    if(is_file($dir.'/'.$file)) {
        include("portfolio/".$file);
    }
}
这是按升序返回结果的最简单方法。
再次感谢您

这一点值得称赞

我只需添加另一行代码,以确保它只查看真实文件:下面的代码

$dir = "./portfolio"; 
$files = scandir($dir); // returns array of files, sorted alphabetically

foreach($files as $file) {
    if(is_file($dir.'/'.$file)) {
        include("portfolio/".$file);
    }
}
这是按升序返回结果的最简单方法。

再次感谢你

你的
clearstatcache()
可以在你的循环之外,顺便说一句:)谢谢你,杰克,我想最好在需要的时候只调用一次,嗯?你的
clearstatcache()
可以在你的循环之外,顺便说一句:)谢谢你,杰克,我想最好在需要的时候只调用一次,嗯?这有点用,虽然我遇到了一些错误,例如警告:include()[function.include]:无法打开“portfolio/”(include_path='.:/usr/lib/php5'),但它正在查找一个名为portfolio/的文件。。明天早上我也会尝试添加一个“if is a file”(如果它是一个文件)好的,我创建了一个快速if语句,代码如下所示
$dir=“./portfolio”$files=scandir($dir);//返回按字母顺序排列的文件数组($files as$file){if($file!=“&&&$file!=”){include($portfolio/“$file”);}
您认为如何?这是一个问题吗?@ntgCleaner在我看来还行:)
scandir
应该比
opendir
消耗更多的资源。这在某种程度上是可行的,尽管我收到了一些错误,例如警告:include()[function.include]:打开“公文包/”(include_path='):/usr/lib php5')它正在寻找一个名为portfolio/的文件。。明天早上我也会尝试添加一个“if is a file”(如果它是一个文件)好的,我创建了一个快速if语句,代码如下所示
$dir=“./portfolio”$files=scandir($dir);//返回按字母顺序排列的文件数组($files as$file){if($file!=“&&&$file!=”){include($portfolio/“$file”);}
您认为如何?这到底是个问题吗?@ntgCleaner在我看来还行:)
scandir
应该比
opendir
消耗更多的资源。