使用php调用文件夹在页面上加载图像

时间:2015-05-27 19:30:52

标签: php html

这是我的网站用于调用图片的代码,它调用大约100张图片而且他们不会一次加载所有内容,你需要在页面上坐5分钟左右才能加载它们。我被告知这可能是http缓冲区大小或什么?无论如何,没有人愿意等待很长时间才能加载图片,所以我能做些什么(除了为50个图片的每个部分制作一个新页面之外)要么让它们全部加载,要么像扰流板一样标签只打开你打开的标签,然后加载更快。我曾经想过使用Javascript onload事件,但不知道我是如何在这里实现它的。

POI:这个页面最终可能有200个甚至高达500个图片,它们从24mp缩小到5mp,因此上传速度更快,但不下载,所以人们可以非常快速地看到它们。

提前致谢

<?php
  $dirname = "pictures/photos/Folder1/";
  $images = scandir($dirname);
  $ignore = Array(".", "..");
  foreach($images as $curimg){
    if(!in_array($curimg, $ignore)) {
      echo "<a href=".$dirname.$curimg.">
      <img style='border:4px ridge #9D552D; width:125px; margin: 10px;' src='./pictures/photos/Folder1/$curimg'/></a>";
    }
  }

1 个答案:

答案 0 :(得分:0)

如果您不是编程专家,那么使用此jquery插件可能会对您感兴趣: http://www.appelsiini.net/projects/lazyload

如果使用正确,它将确保浏览器仅加载当前在屏幕上可见的图像。只要不向下滚动,折叠下方的图片就不会被加载。

如果你有很多图像,这样的方法可能是最理想的,因为页面加载速度更快,很多人永远不会向下滚动太多。

如果您对编程有一点经验,那么动态生成缩略图(例如使用GD lib - 默认情况下使用PHP - 或ImageMagick)将不会是一项艰巨的任务。但请记住,人们仍然需要下载所有这些缩略图 - 因此理想的方法可能是延迟加载和缩略图生成的组合。