在目录中分页文件

时间:2013-10-01 00:43:03

标签: php pagination

我有一个目录,其中包含近60张图像但是高清质量,所以它们的大小约为5~6 MB,并且在网页中加载它们对于服务器和浏览器来说都是很长时间,所以两者都挂断了。我看了this postthis other too,因为我在我的服务器中使用PHP 5.4.20,我想使用DirectoryIteratorLimitIterator,但是帖子中的示例是由于我不知道在这种情况下如何向前/向后移动,所以对我来说并不那么明确。可以给我一些关于目录中的paginate文件的示例代码吗?

更新:显示一些代码

现在这就是我阅读文件的方式:

function directoryToArray($directory, $recursive) {
    $array_items = array();
    if ($handle = opendir($directory)) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != "..") {
                if (is_dir($directory . "/" . $file)) {
                    if ($recursive) {
                        $array_items = array_merge($array_items, directoryToArray($directory . "/" . $file, $recursive));
                    }
                    $file = $directory . "/" . $file;
                    $array_items[] = preg_replace("/\/\//si", "/", $file);
                } else {
                    $file = $directory . "/" . $file;
                    $array_items[] = preg_replace("/\/\//si", "/", $file);
                }
            }
        }
        closedir($handle);
    }
    return $array_items;
}

$images = directoryToArray("images/portfolio/");
for ($i = 0; $i < count($images); $i++) {
    $old_img_name = explode('/', $images[$i]);
    $new_img_name = $old_img_name[0] . "/" . $old_img_name[1] . '/large/' . $old_img_name[2];

    echo '<div class="span4 element">';
    echo '<div class="hover_img">';
    echo '<img src="' . $images[$i] . '" alt="" />';
    echo '<span class="portfolio_zoom"><a href="' . $new_img_name . '" data-rel="prettyPhoto[portfolio1]"></a></span>';
    echo '</div>';
    echo '</div>';
}

1 个答案:

答案 0 :(得分:1)

Aristona绝对正确。您可能应该将图像调整为适当的文件格式,质量和格式。尺寸。至少如果你想要制作某种类型的画廊,你可以使用像magick这样的东西为画廊制作“缩略图”,点击它们可以带你到全画质的图像。

图像magick可以用各种语言编写脚本来批量处理你的图像并构建缩略图,如果你希望它作为一个进程运行,或者从命令行你可以做一次性的,就像这里提到的那样: Batch resize images into new folder using ImageMagick