0

PHP のギャラリーに問題があります。ギャラリーには次の構造があります。

            <div class="imageElement">
                <h3>Item 1 Title</h3>
                <p>Item 1 Description</p>
                <a href="open/1.jpg" title="open image" class="open"></a>
                <img src="big/1-gallery.jpg" class="full" />
                <img src="thumb/1-mini.jpg" class="thumbnail" />
            </div>
      and so on

big - 通常の画像、thumb - 親指、open - 大きな画像の 3 つのフォルダーがあります。

foreach ループを作成しました。

<?php foreach(glob("images/folder/images/".$id."/big/*.jpg") as $filename) : ?>

<div class="imageElement">
<h3>Item 1 Title</h3>
<p>Item 1 Description</p>
<a href="path-to-large-image" title="open image" class="open"></a>
<? echo '<img src="'.$filename.'" class="full">'?>

<?php foreach(glob("images/folder/images/".$id."/thumb/*.jpg") as $filename2) : ?    >
<? echo '<img src="'.$filename2.'" class="thumbnail">';break;?>
 <?php endforeach ?>
</div>
<?php endforeach ?>

残念ながら、私は最初の画像しか得られませんでした。すべての画像に対して同じ親指です。このような場合、foreach ループをどのように使用すればよいですか? 次のループを使用して、開いているフォルダーから画像を取得するにはどうすればよいですか?

回答ありがとうございます。

編集:

私のHTML出力は次のようになります。

<div class="imageElement">
<h3>title</h3>
<p>text</p>
<a href="/images/folder/4/open/1.jpg" title="open image" class="open"></a>
<a href="/images/folder/4/open/2.jpg" title="open image" class="open"></a>
<a href="/images/folder/4/open/3.jpg" title="open image" class="open"></a>
<a href="/images/folder/4/open/4.jpg" title="open image" class="open"></a>

<img src="images/folder/images/4/big/1.jpg" class="full">

<img src="/images/folder/images/4/thumb/1.jpg" class="thumbnail">
<img src="/images/folder/images/4/thumb/2.jpg" class="thumbnail">
<img src="/images/folder/images/4/thumb/3.jpg" class="thumbnail">
<img src="/images/folder/images/4/thumb/4.jpg" class="thumbnail">
</div>

<div class="imageElement">
<h3>title</h3>
<p>text</p>
<a href="/images/folder/4/open/1.jpg" title="open image" class="open"></a>
<a href="/images/folder/4/open/2.jpg" title="open image" class="open"></a>
<a href="/images/folder/4/open/3.jpg" title="open image" class="open"></a>
<a href="/images/folder/4/open/4.jpg" title="open image" class="open"></a>

<img src="images/folder/images/4/big/2.jpg" class="full">

<img src="/images/folder/images/4/thumb/1.jpg" class="thumbnail">
<img src="/images/folder/images/4/thumb/2.jpg" class="thumbnail">
<img src="/images/folder/images/4/thumb/3.jpg" class="thumbnail">
<img src="/images/folder/images/4/thumb/4.jpg" class="thumbnail">
</div>

等々。

次のようになります。

<div class="imageElement">
<h3>title</h3>
<p>text</p>
<a href="/images/folder/4/open/1.jpg" title="open image" class="open"></a>
<img src="images/folder/images/4/big/1.jpg" class="full">
<img src="/images/folder/images/4/thumb/1.jpg" class="thumbnail">
</div>

<div class="imageElement">
<h3>title</h3>
<p>text</p>
<a href="/images/folder/4/open/2.jpg" title="open image" class="open"></a>
<img src="images/folder/images/4/big/2.jpg" class="full">
<img src="/images/folder/images/4/thumb/2.jpg" class="thumbnail">
</div>
4

1 に答える 1

0

PHPとHTMLを組み合わせてコードを作成する方法は、PHPを混乱させる可能性があります。これを試して:

<?php
foreach(glob("images/folder/images/".$id."/big/*.jpg") as $filename) {

  echo '<div class="imageElement">
<h3>Item 1 Title</h3>
<p>Item 1 Description</p>
<a href="path-to-large-image" title="open image" class="open"></a>
<img src="'.$filename.'" class="full">';

  foreach(glob("images/folder/images/".$id."/thumb/*.jpg") as $filename2) {
    echo '<img src="'.$filename2.'" class="thumbnail">';
  }
  echo '</div>';
}

編集:

これにより、探しているものが生成されます。

foreach($x as $filename) {
  $chunks=explode("/", $filename);
  $file=$chunks[count($chunks)-1];

  echo '<div class="imageElement">
  <h3>Item 1 Title</h3>
  <p>Item 1 Description</p>
  <a href="./images/folder/images/'.$id.'/open/'.$file.'" title="open image" class="open"></a>
  <img src="./images/folder/images/'.$id.'/big/'.$file.'" class="full">
  <img src="./images/folder/images/'.$id.'/thumb/'.$file.'" class="thumbnail">

  </div>


  ';

}

出力:

<div class="imageElement">
<h3>Item 1 Title</h3>
<p>Item 1 Description</p>
<a href="./images/folder/images/4/open/1.jpg" title="open image" class="open"></a>
<img src="./images/folder/images/4/big/1.jpg" class="full">
<img src="./images/folder/images/4/thumb/1.jpg" class="thumbnail">

</div>


<div class="imageElement">
<h3>Item 1 Title</h3>
<p>Item 1 Description</p>
<a href="./images/folder/images/4/open/2.jpg" title="open image" class="open"></a>
<img src="./images/folder/images/4/big/2.jpg" class="full">
<img src="./images/folder/images/4/thumb/2.jpg" class="thumbnail">

</div>


<div class="imageElement">
<h3>Item 1 Title</h3>
<p>Item 1 Description</p>
<a href="./images/folder/images/4/open/3.jpg" title="open image" class="open"></a>
<img src="./images/folder/images/4/big/3.jpg" class="full">
<img src="./images/folder/images/4/thumb/3.jpg" class="thumbnail">

</div>


<div class="imageElement">
<h3>Item 1 Title</h3>
<p>Item 1 Description</p>
<a href="./images/folder/images/4/open/4.jpg" title="open image" class="open"></a>
<img src="./images/folder/images/4/big/4.jpg" class="full">
<img src="./images/folder/images/4/thumb/4.jpg" class="thumbnail">

</div>

修正するのは、アイテム1のタイトル/説明だけです。

于 2012-05-20T17:38:43.637 に答える