如何将目录中的图像和文件回显到页面上 php
How to echo images and files within a directory onto a page php
if ($handle = opendir('.')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != ".." && !in_array($entry, $blacklist)) {
echo "<p>$entry\n</p>";
}
}
closedir($handle);
}
以上是 PHP 代码,我用来回显目录中的所有文件。它工作正常,但页面回应了这个:
example.html
test.php
image.png
mobile.html
text.txt
image2.jpg
如何才能使目录中的文件是图像时显示为图像而不是文本。例如,页面将回显:
example.html
test.php
(来源:treehugger.com)
mobile.html
text.txt
简而言之,我目前使用的代码只显示目录中每个文件的名称。我希望它显示目录中每个文件的名称,但是,如果目录中有图像,它不会回显图像的文件名,而是显示图像。
如果您只想获取图像,这应该适合您:
<?php
foreach(glob("*.{jpg,png,gif,jpeg}", GLOB_BRACE) as $image)
echo "<img src='" . $image . "' />";
?>
(注意文件扩展名之间没有空格,否则将无法工作)
如果你想要所有文件就用这个:
foreach(glob("*.*") as $file) {
if(in_array(pathinfo($file, PATHINFO_EXTENSION), array("jpg", "png", "jpeg", "gif")))
echo "<img src='" . $file . "' />";
else
echo $file . "<br />";
}
有关 glob()
的更多信息,请参阅手册:http://php.net/manual/en/function.glob.php
试试这个:
if ($handle = opendir('.')) {
$valid_image = array("jpg", "jpeg", "png", "gif");
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != ".." && !in_array($entry, $blacklist)) {
$exploded = explode('.', $entry);
if(in_array(end($exploded), $valid_image))
{
echo '<img src="'.$entry.'">';
}
else
{
echo "<p>$entry\n</p>";
}
}
}
closedir($handle);
}
注意 post 有效的图像路径,例如:
echo '<img src="http://example.com/images/'.$entry.'">';
if ($handle = opendir('.')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != ".." && !in_array($entry, $blacklist)) {
echo "<p>$entry\n</p>";
}
}
closedir($handle);
}
以上是 PHP 代码,我用来回显目录中的所有文件。它工作正常,但页面回应了这个:
example.html
test.php
image.png
mobile.html
text.txt
image2.jpg
如何才能使目录中的文件是图像时显示为图像而不是文本。例如,页面将回显:
example.html
test.php
(来源:treehugger.com)
mobile.html
text.txt
简而言之,我目前使用的代码只显示目录中每个文件的名称。我希望它显示目录中每个文件的名称,但是,如果目录中有图像,它不会回显图像的文件名,而是显示图像。
如果您只想获取图像,这应该适合您:
<?php
foreach(glob("*.{jpg,png,gif,jpeg}", GLOB_BRACE) as $image)
echo "<img src='" . $image . "' />";
?>
(注意文件扩展名之间没有空格,否则将无法工作)
如果你想要所有文件就用这个:
foreach(glob("*.*") as $file) {
if(in_array(pathinfo($file, PATHINFO_EXTENSION), array("jpg", "png", "jpeg", "gif")))
echo "<img src='" . $file . "' />";
else
echo $file . "<br />";
}
有关 glob()
的更多信息,请参阅手册:http://php.net/manual/en/function.glob.php
试试这个:
if ($handle = opendir('.')) {
$valid_image = array("jpg", "jpeg", "png", "gif");
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != ".." && !in_array($entry, $blacklist)) {
$exploded = explode('.', $entry);
if(in_array(end($exploded), $valid_image))
{
echo '<img src="'.$entry.'">';
}
else
{
echo "<p>$entry\n</p>";
}
}
}
closedir($handle);
}
注意 post 有效的图像路径,例如:
echo '<img src="http://example.com/images/'.$entry.'">';