在结果中设置限制(无 mysql)

Set a limit in the results (no mysql)

我可以限制在从文件夹中提取的图像列表中显示吗?我应该指出,我的意思不是 mysql 而是简单的 php.

我实际上是从一个文件夹中提取所有图像,在这里,我想设置一个限制。可能吗?还是一定要数据库?

尝试

array_slice(scandir($dir), 0, $limit);

你提到了 "extracted from a folder" 和 "or must necessarily the database" 所以我不确定你的来源是什么。

如果您从文件夹中获取图像列表,可能使用诸如 glob() 或 readdir() 或 scandir() 之类的东西,那么您最终会得到一个数组。如果您只想显示一定数量的这些图像,那么只需在该迭代次数后停止...

$imgs = glob('*.jpg');
$count = 0;
foreach ($imgs as $img) {
    if ($count++ > 20) break; // place a limit of 20
    echo "<img src='$img' alt='$img' />\n";
}

如果您使用数据库来获取图像文件名列表,那么您可以做类似的事情,在循环中控制它:

$sql = "SELECT filename, alt_text FROM ...";
$conx = mysqli_connect($host, $user, $pass, $dbname, ...);
$results = mysqli_query($conx, $sql);
$count = 0;
while ($row = mysqli_fetch_assoc($conx, $results)) {
    if ($count++ > 20) break; // place a limit of 20
    echo "<img src='$row[filename]' alt='$row[alt_text]' />\n";
}
mysqli_free_results($results);

如果我还没有回答你的问题,请澄清一下。如果我有,请投票给答案。

谢谢!