【问题标题】:Lightbox display multiple images from directory灯箱显示目录中的多个图像
【发布时间】:2014-10-21 19:52:11
【问题描述】:

我在网络上的任何地方都找不到答案(有效)。

我正在尝试让 Lightbox 从目录加载图像,因为它们会经常更新。

如果有人能纠正我做错的事情,或者有使用 PHP 或由特定目录自动填充的隐藏 div 的解决方案,将不胜感激。

这是我想出但似乎不起作用的方法;

<?php $dirname = "img/love/"; $images = glob($dirname."*.jpg"); foreach($images as $image) { echo '<img data-lightbox="love" src="'.$image.'" /><br />'; } ?>

这是我的测试页面:http://knowledgeoverfame.com/tslp/leet/alt/index.html

我在这里没有找到任何类似的问题的答案,但如果我可能错过了,请赐教:)

谢谢!

【问题讨论】:

  • 请详细说明...您要做什么...
  • 我有一个代码。如果我到电脑前还没有回答,我会发布它。
  • 尝试使用双引号作为回声
  • 试图让 Lightbox 从我服务器上的目录中提取图像,而不必单独链接到每个图像
  • 感谢 Josan,我尝试了双引号,但它不起作用:/

标签: php html css image lightbox


【解决方案1】:

尝试使用scandir() 获取图像文件数组。

例子:

<?php
  $images = scandir($your_folder);
  foreach ( $images as $key => $filename ) {
    if ( $key > 1 ) {  //ignores the first two values which refer to the current and parent directory
     echo '<img data-lightbox="love" src="'.$your_folder."/".$filename.'" /><br />';
   }    
  } 
?>

供参考:PHP scandir()

【讨论】:

  • 那么我应该将它添加到我已有的代码中,还是会取代我当前的代码?
  • 我得到了它的工作,不得不编辑一点点,但感谢一百万!
【解决方案2】:

您想要做的 - 使用灯箱显示文件夹中的图像 - 这个问题已经解决了很多次,复杂程度各不相同。如果您在 Google 上搜索“php 图片库”之类的内容,您会找到示例脚本。大约一年前我就这样做了,经过一些实验后,我选择了 Minigal Nano,因为它是一个强大的脚本,但足够简单,可以很容易地看到它是如何工作的,然后为我自己的使用而返工。我还发现这是一种学习 php 的有效方法。

【讨论】:

    【解决方案3】:

    此脚本将从目录中提取图像。我将它与 fancybox 一起使用,但您可以根据需要进行修改。

    <?php
    $directory = 'yourDirectory/gallery/thumbs';   //where the gallery thumbnail images are located    
    $files = glob($directory."/*.{jpg,jpeg,gif,png}", GLOB_BRACE);
    natsort($files); //sort by filename
    ?>
    
    <?php
    for($x = 0; $x < count($files); $x++){
    $thumb = $files[$x];
    $file = basename($thumb);
    $nomargin = $x%4 == 0?" nomargin":"";
    $title = htmlspecialchars($file);
    ?>
        <div class="thumbs fancybox<?= $nomargin ?>" style="background:url('<?= $thumb ?>') no-repeat 50% 50%;">
            <a rel="group" href="yourDirectory/gallery/<?= $file ?>"></a> 
        </div>
    <?php
    }//end for loop
    ?>
    

    【讨论】:

    • 这是我想出的,它似乎在做这个伎俩... $filename ) { if ( $key > 1 ) { //忽略引用当前和父目录的前两个值 echo '
      '; } } ?>
    • 这要感谢@Jacelysh 的一点点调整......你预见到这有什么问题吗?我很好奇,我对 PHP 不是很流利,所以我只是捏造了它,直到它起作用了哈哈你可以检查 knowledgeoverfame.com/tslp/leet/alt 并单击 Love 链接以查看它的实际效果...
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签