从目录加载文件

时间:2014-05-04 13:19:01

标签: php file

我有这个代码从某个目录加载文件,我试图将文件数限制为50.现在如果它加载所有文件。有人可以查看此代码并告诉我如何设置文件数限制

    function dirList ($directory) 
{
    $results = array();
    $handler = opendir($directory);
    while ($file = readdir($handler)) 
    {
        if ($file != '.' && $file != '..')
        {
            $pos = strrpos($file,".");
            $ph = strtolower(substr($file,$pos+1,strlen($file)-$pos));
            if($ph == "jpg" || $ph == "jpeg" || $ph == "gif" || $ph == "png" || $ph == "bmp")
            {
                $results[] = $file;
            }
        }
    }
    closedir($handler);
    return $results;
}

2 个答案:

答案 0 :(得分:0)

在数组的硬括号中,您可以将$ i作为增量变量,并将增量限制为50

for($i=0; $i<50; $i++){
$results[$i] = $file;
}

此外:

<?php

for($i=0; $i<10; $i++){
echo $i;
}

&GT;

应该返回0123456789

答案 1 :(得分:0)

你应该添加一个计数变量并打破达到50的外观。

编辑

我正在修改你的功能,我已经测试过,它运行正常。

function dirList ($directory) {
$results = array();
$handler = opendir($directory);
$count = 0;
while ($file = readdir($handler)) 
{
    if($count == 50) break;
    if ($file != '.' && $file != '..')
    {
        $pos = strrpos($file,".");
        $ph = strtolower(substr($file,$pos+1,strlen($file)-$pos));
        if($ph == "jpg" || $ph == "jpeg" || $ph == "gif" || $ph == "png" || $ph == "php")
        {
            $count++;
            $results[] = $file;
        }
    }
}
closedir($handler);
return $results; }