[英]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>
因為我的子文件夾img與index.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.