Как вставить название нескольких изображений под изображениями - PullRequest
1 голос
/ 14 апреля 2020
<?php
$dir = __DIR__ . DIRECTORY_SEPARATOR . "gallery" . DIRECTORY_SEPARATOR;
$tdir = __DIR__ . DIRECTORY_SEPARATOR . "thumb" . DIRECTORY_SEPARATOR;
$maxLong = 200; 
$quality = 40;
$images = [];


$files = glob($dir . "*.{jpg,jpeg,gif,png}", GLOB_BRACE);


foreach ($files as $f) {
  $img = basename($f);
  $images[] = $img;
  if (!file_exists($tdir . $img)) {
    list ($width, $height) = getimagesize($dir . $img);
    $ratio = $width > $height ? $maxLong / $width : $maxLong / $height ;
    $newWidth = ceil($width * $ratio);
    $newHeight = ceil($height * $ratio);
    $source = imagecreatefromjpeg($dir . $img);
    $destination = imagecreatetruecolor($newWidth, $newHeight);
    imagecopyresampled($destination, $source, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
    imagejpeg($destination, $tdir . $img, $quality);
  }
}

?>
<!DOCTYPE html>
<html>
  <head>
    <title>Stack gallery</title>
    <link href="css.css" rel="stylesheet">
    <script src="script.js"></script>
  </head>
  <body>
    <!-- [LIGHTBOX] -->
    <div id="lfront"></div>
    <div id="lback"></div>

    <!-- [THE GALLERY] -->
    <div id="gallery"><?php
    foreach ($images as $i) {
      printf("<img src='thumb/%s' onclick='gallery.show(this)' />" ,$i, basename($i));
    }
    ?></div>
  </body>
</html>

Функция Printf вставляет миниатюры на страницу, отформатированную в файле css. Я только начал приключение с php. Я не знаю, как редактировать код, чтобы он отображал их имена под картинками. Может быть, я должен изменить printf на echo, но я не знаю как. Я хочу, чтобы вы знали, что это не мой код.

...