簡體   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