我有一个目录,其中包含近60张图像但是高清质量,所以它们的大小约为5~6 MB,并且在网页中加载它们对于服务器和浏览器来说都是很长时间,所以两者都挂断了。我看了this post和this other too,因为我在我的服务器中使用PHP 5.4.20,我想使用DirectoryIterator和LimitIterator,但是帖子中的示例是由于我不知道在这种情况下如何向前/向后移动,所以对我来说并不那么明确。可以给我一些关于目录中的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>';
}
答案 0 :(得分:1)
Aristona绝对正确。您可能应该将图像调整为适当的文件格式,质量和格式。尺寸。至少如果你想要制作某种类型的画廊,你可以使用像magick这样的东西为画廊制作“缩略图”,点击它们可以带你到全画质的图像。
图像magick可以用各种语言编写脚本来批量处理你的图像并构建缩略图,如果你希望它作为一个进程运行,或者从命令行你可以做一次性的,就像这里提到的那样: Batch resize images into new folder using ImageMagick