PHP问题显示图库

时间:2017-08-05 21:23:03

标签: php html

我正在尝试使用PHP创建一个库。我希望从文件夹中获取所有图像,然后以3行显示它们。我有点工作,但前2个图像搞砸了。

这是我尝试过的:

$images = glob("$_SERVER[DOCUMENT_ROOT]/gallery/img*.{png,jpg,gif}", GLOB_BRACE);
echo '<table width="100%>';
$count="-1";
foreach($images as $image) {
    if ($count%3 == 1) {
        echo '<tr>';
    }
    $url=str_replace("/home/#####/public_html/gallery", "", $image);
    echo '<td width="33%"><div class="gallery">';
    echo '<img onclick="window.location='.$url.'" src="'.$url.'" alt="Image Alt" width="400" height="300">';
    echo '</div></td>';
    if ($count%3 == 3) {
        echo '</tr>';
    }
    //echo $count;
    $count++;
    //echo "|".$count;
}
if ($count%3 != 1) {
    echo ',</tr>';
} 
echo '</table>';

//echo print_r($images);

这种方法很有效,但它确实如此:

enter image description here (这些只是股票照片,真实的照片有点......令人反感)

我知道我做错了什么但我不知道是什么!

2 个答案:

答案 0 :(得分:1)

您的代码中存在一些错误(请参阅注释)。也许试试这个:

$images = glob("$_SERVER[DOCUMENT_ROOT]/gallery/img/*.{png,jpg,gif}", GLOB_BRACE);
echo '<table style="width:100%">'; // error was here (missing ")
$count = 0;  // error was here (counter = "-1")
foreach ($images as $image) {
  // start <tr> on 0
  if ($count == 0) {
    echo '<tr>';
  }
  $url=str_replace("/home/#####/public_html/gallery/", "", $image);
  echo '<td style="width:33%"><div class="gallery">'; // alternative
  echo '<img onclick="window.location='.$url.'" src="'.$url.'" alt="Image Alt" width="400" height="300">';
  echo '</div></td>';
  // end tr at 3
  if ($count == 3) {
    echo '</tr>';
    // reset counter
    $count = -1;
  }
  $count++;
}
echo '</table>';

答案 1 :(得分:0)

我认为您的$count初始值存在问题。

试试这个:

$count="3";
foreach($images as $image) {
    if ($count%3 == 0) {
        echo '<tr>';
    }
    $count++;

    ...