我有这个代码从某个目录加载文件,我试图将文件数限制为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;
}
答案 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; }