我查看了Pull all images from a specified directory and then display them和Pull all images from a specified directory and then display them。看起来他们在这些帖子上提供的解决方案非常简单。所以我尝试使用代码而不是图像,我得到一个图像名称的字符串。我的uploads
文件夹中不只有一个图像,但它只显示一个图像的名称。
只是为了给出一些上下文,在一个文件夹中,我有index.html
,upload.php
和一个名为uploads
的目录,其中存储了我的所有图像。
以下是我的代码:
<body>
<div>
<a class="info" id="hvr-float" id="thePeopleButton" p style="font-size:30px" href="javascript:void(0);">The People</a>
<h1 class="infoText" style="display:none"></h1>
<?php
$directory = "uploads/";
$images = glob($directory."*.jpg");
foreach($images as $image)
{
echo '<img src="'.$image.'" /><br />';
}
?>
</div>
</body>
我希望代码显示图像而不仅仅是文本。这是我网站上发生的事情的图片:
所以,我想要实际的图像,而不是uploads/awesome-fruit.jpg
。有什么建议吗?
答案 0 :(得分:1)
为了让img
元素显示图片,它需要来自根网址的源(或不是),因此uploads/awesome-fruit.jpg
应为/uploads/awesome-fruit.jpg
。
对于glob我建议使用{jpg,gif,png}
$directory = "uploads/";
$images = glob($directory."*.{jpg,gif,png}", GLOB_BRACE);
答案 1 :(得分:1)
几天前,我正在玩同样的事情。这里的问题是文件路径。
例如我的桌面上有一些图像(我使用的是Ubuntu)
$directory = "/home/Desktop/";
如果我运行代码
$images = glob($directory."*.jpeg");
foreach($images as $image)
{
echo '<img src="'.$image.'" /><br />';
}
?>
我无法获取图片,因为如果您在浏览器中加载相同的图片,则链接属于file:///home/Desktop/a.jpeg
类型,而不仅仅是/home/Desktop/a.jpeg
。
尝试使用相同的模式,您将获得所需的输出。
更正后的代码
<?php
$directory = "/home/likewise-open/PUNESEZ/anurag.verma/Desktop/";
$images = glob($directory."*.jpeg");
foreach($images as $image)
{
// look at the addition of file://
echo '<img src="file://'.$image.'" /><br />';
}
?>
答案 2 :(得分:0)
您可以使用简单的PHP脚本显示文件夹中的所有图像。假设文件夹名称“上传”并将一些图像放在此文件夹中,然后编辑并粘贴此代码并运行此脚本。这是php代码
如果您不检查类型,那么只需使用此代码从您的文件夹中获取所有图像并显示
<?php
$files = glob("uploads/*.*");
for ($i = 0; $i < count($files); $i++) {
$image = $files[$i];
echo basename($image) . "<br />"; // show only image name if you want to show full path then use this code // echo $image."<br />";
echo '<img src="' . $image . '" alt="Random image" />' . "<br /><br />";
}
?>
如果你想检查只有图像类型会显示你的文件夹是否有文件,pdf类型文件然后也使用这个代码
<?php
$files = glob("uploads/*.*");
for ($i=0; $i<count($files); $i++)
{
$image = $files[$i];
$supported_file = array(
'gif',
'jpg',
'jpeg',
'png'
);
$ext = strtolower(pathinfo($image, PATHINFO_EXTENSION));
if (in_array($ext, $supported_file)) {
echo $image ."<br />";
echo '<img src="'.$image .'" alt="Random image" />'."<br /><br />";
} else {
continue;
}
}
?>
希望它会帮助你
答案 3 :(得分:0)
代码是索引还是上传文件?因为如果它是index.html你必须将扩展名更改为index.php
所以你可以试试这段代码,而不是你的php代码...
<?php
foreach (new DirectoryIterator("uploads/") as $file) {
if($file->getExtension() == "jpg"){
echo "<img src='uploads/{$file->getFilename()}'/>\n";
}
}
?>