繁体   English   中英

使用 php 显示 html 中的图像文件夹

[英]Display folder of images in html using php

抱歉,我找不到我需要的答案,所以希望有人能提供帮助。

我有一个 gallery.html 文件夹,并希望在其中显示我的“img”文件夹中的所有图像。

我想为此使用 PHP,但它从不工作,或者似乎运行 PHP。 我已将 PHP 标签放在 .html 文件夹中,如下所示,包括代码,但只打印出来,就好像它只是文本一样?

    <div class="gallery_sect">
      <?php 
    
      $dirname = "/img/";
      $images = glob($dirname."*.jpg");
      
      foreach($images as $image) {
          echo '<img src="'.$image.'" /><br />';
      }
      
      ?>
    </div>

我做错了什么吗,如果我将 PHP 放在它自己的文件中,我怎样才能将它拉到存储画廊的 div 中?

首先,据我所知,不可能在扩展名为".html"的文件中运行php 代码

因此,我建议您将扩展名从".html"更改为".php" 这将允许您在div 容器中运行脚本。

这也是ADyson的评论中推荐的。

但是您可以使用.php 重命名文件,并且仍然将 html 放入其中

接下来您需要正确设置路径。 我找不到您使用的操作系统。 所以我假设它会是 linux,如果不是这样,请纠正我!

例如,您可以这样做:
在 index.php 文件中:

步骤1。)
获取当前目录

<?php
 system("pwd"); #pwd = print working directory
?>

system()是 function php 提供的,它可以执行 linux ZD574D4BB40C849861691A 命令。 系统 function php 文档

第2步。)
确保可以找到文件夹,您还可以使用 php function 系统找到它:

<?php
 system("ls"); #ls = list all files in this level
?>

现在您应该知道您的文件在哪里以及如何导航到它们。

现在到实际问题。

为了回答您的问题,我为自己创建了一个小环境。
它看起来像这样:

App
|-img
|  |-img.jpg
|  |-img2.jpg
|  |-img3.jpg
|-index.php

App是我的根文件夹,我有一个名为img的子文件夹。
我的子文件夹img包含我所有的图像(img1.jpg 到 img3.jpg)。
最后但并非最不重要的是我的index.php文件。

我将首先向您展示我的代码,然后进行解释:

索引.php

<!doctype html>

<html lang="en">
<head>
  <meta charset="utf-8">
  <title>My PHP Website</title>
</head>

<body>
  <h1>My PHP Website</h1>
  <p>Here is some static content.</p>
  
  <?php
    $images = glob("./img/*.jpg");
    print_r($images); #output is an array!

    foreach ($images as $img) {
     # print_r($img); #to see that the iteration $img looks like "./img/img1.jpg"
      echo "<img src='$img' />";
    }

  ?>

</body>
</html>

因为我的子文件夹imgindex.php您必须在文件夹img (在我的情况下)前面放置一个点和一个斜杠,这是为了理解它应该在与index.php相同级别。

如何在其他级别上搜索,您可以在此处找到

然后,您将通过使用 function glob()获得正确的路径,之后您只需遍历数组并将迭代插入到 img 属性 src 中即可。

请记住, glob()返回的是指定的路径,即不需要再次指定!
仔细检查代码示例

我希望它会有所帮助,请告诉我!

首先,您必须获取工作目录,然后将工作目录更改为图像目录获取所有图像,然后将目录更改回工作目录。

常量GLOB_BRACE将帮助您仅获取带有扩展名的图像名称。

<div class="gallery_sect">
    $dirname = getcwd() . "/img/";

    // change your current directory to image directory
    chdir($dirname);

    $images = glob("*.jpg", GLOB_BRACE);

    // change your directory back to working directory
    chdir($dirname);

    foreach ($images as $image) {
        echo '<img src="/img/' . $image . '" /><br />';
    }
</div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM