1

如果图像存在于我服务器上的文件夹中,如何将图像添加到页面?

我正在为我的平面设计工作建立一个投资组合网站;而且我希望能够将图片上传到我服务器上的文件夹并自动添加到页面中,这样我就不必每次想要添加新图片时都对 html 进行物理编辑。

这可能吗?如果是这样,怎么办?我学得很快,所以我真的不在乎它有多复杂。

4

4 回答 4

1

你可以使用这样的东西:

    <?php

    $files = glob('folder/*.{jpg,png,gif}', GLOB_BRACE);
    foreach($files as $file) {
      echo "<img src='$file'>";
    }


    ?>
于 2012-10-17T16:06:34.713 回答
1

试试这个:

$handle = opendir(dirname(realpath(__FILE__)).'/pictures/');
        while($file = readdir($handle)){
            if($file !== '.' && $file !== '..'){
                echo '<img src="pictures/'.$file.'" border="0" />';
            }
        }

这段代码真的很容易理解,我们首先定义一个变量“$handle”,它将包含文件夹绝对路径的句柄(我总是选择绝对路径,因为我觉得它们更安全) dirname(realpath( FILE ) ) 返回当前文件 (gallery.php) 的绝对路径,然后我们添加到它的末尾 /pictures/

然后,我们遍历目录中的所有文件,我使用的那个简单的 if 语句是为了防止某些函数返回 . 或 .. 有时作为文件名。然后我们以标准 html 显示图像

于 2012-10-17T16:06:43.347 回答
1

我会使用这个伪代码:

if (file_was_uploaded()) {
    update_page();
}

file_was_uploaded函数中,您放置代码来处理文件上传。如果有(成功的)文件上传,则返回 true。

update_page函数中,您放置代码来处理更新页面。

于 2012-10-17T16:11:02.427 回答
0

您可以尝试读取文件夹中的文件名,然后在页面上显示每个图像:

<?php
$dir_path   = '/images';
$filenames = scandir($dir);
?>

<?php foreach($filenames as $filename): ?>
    <img src="<?=$filename;?>" alt="photo"/> <!-- and other HTML stuff -->
<?php endforeach; ?>
于 2012-10-17T16:07:37.053 回答