我有这个代码,从某个目录加载文件,我试图将文件数量限制为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;
}
在数组的硬括号中,可以使用$i作为增量变量,并将增量限制为50
for($i=0; $i<50; $i++){
$results[$i] = $file;
}
添加:
<?php
for($i=0; $i<10; $i++){
echo $i;
}
?>
应该返回0123456789
你应该添加一个count变量,并在达到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; }