使用PHP显示目录中的图像

时间:2012-05-28 09:55:31

标签: php jquery html .htaccess

我是PHP和jQuery的新手,但我想对使用easySlider和Lightbox插件开发的产品组合做以下事情:

  1. 每个“li”标签显示六张图片或六张div图像的限制,并从目录中关闭。

    • 如果目录中有六个以上的图像,请创建一个新的“li”标记并再显示六个图像,直到该目录中的所有图像都被加载。

    • 如果图片的名称后面带有数字 - >显示:隐藏。例如:beta1但我只想展示第一个“beta”

    • 按名称排序图片。

  2. 如果不是代码本身,请不要让任何人访问该目录上的图像。

  3. 投资组合的代码如下:

    <div id="portfolio_hold">
       <ul>
    
         <li>
          <div class="portfolio_pic_hold">
    
            <a href="large.jpg" rel="lightbox[]" >
              <img src="thumb.jpg"/>
            </a>
    
          </div>
         </li>
    
       </ul>
    </div>
    

    这是我想要展示的html示例。

1 个答案:

答案 0 :(得分:0)

这可能会成功

$thumbsPath = "trabalhos/design/thumbs/";
$imagespath = "trabalhos/design/images/";
$file_display = array('jpg', 'jpeg', 'png', 'gif');

if (file_exists($thumbsPath) == false)
{
    echo 'Directory \'', $thumbsPath, '\' not found.';
}
else
{
    $thumbs = glob($thumbsPath."*.[".implode($file_display,"|")."]");
    if (file_exists($imagesPath) == false){
            echo 'Directory \'', $imagesPath, '\' not found.';
    } else
    {
            $counter = 0;
            $filesPerPage = 6;
            foreach ($thumbs as $file)
            {
                    if($counter % $filesPerPage) echo "<li>";
                    $counter++;
                    $info = pathinfo($file);
                    $sFile =  basename($file,'.'.$info['extension']);

                    $aFiles = glob($images.$sFile."[0-9]+.[".implode($file_display,"|")."]"); //Este array tem todas as imagens relativas ao thumbnail que estás a ver
                    echo "<div><img /></div>";
                    if($counter == $filesPerPage) echo "</li>";
            }
    }
}