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


Loading images on a page with php call in folder

这是我的网站用来调用图片的代码,它调用了大约100张图片,它们不会一次全部加载,你需要坐在页面上大约5分钟才能全部加载。有人告诉我这可能是http缓冲区大小之类的?无论如何,没有人愿意等待那么长时间的图片加载,所以我能做些什么(除了为每一部分50张左右的图片制作一个新页面)来使它们都加载得很快,或者制作像剧透标签那样只有你打开的一个加载,但加载得更快。我想过使用Javascript onload事件,但不确定如何在这里实现它。

POI:这个页面可能会有200张甚至500张图片,他们从24mp缩小到5mp,这样他们上传更快,但不要下载,这样人们可以很快看到它们。

Thanks in advance

<?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>";
    }
  }

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

当正确使用

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

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

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