【发布时间】:2013-10-01 00:43:03
【问题描述】:
我有一个目录,其中包含近 60 张图像,但都是高清质量的,因此它们的大小约为 5 ~ 6 MB,并且将它们全部加载到网页中对于服务器和浏览器来说需要很多时间,因此两者都挂断了。我读了this post 和this other too 并且因为我在我的服务器中使用PHP 5.4.20 我想使用DirectoryIterator 和LimitIterator 但是帖子中的示例离开对我来说并不那么明确,因为我没有在这种情况下不知道如何前进/后退。谁能给我一些关于目录中文件分页的示例代码?
更新:显示一些代码
现在我是这样读取文件的:
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>';
}
【问题讨论】:
-
一般情况下,您会希望为每张图片生成缩略图并加载它们,并且只在它们应该加载的时候才加载高清图片。
-
@Aristona 做了,但由于某种原因加载需要更多时间,请在几分钟后查看我的版本
标签: php pagination