[英]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.