【问题标题】:Displaying Images from from Directory Outside of Webroot显示来自 Webroot 外部目录的图像
【发布时间】:2012-09-18 07:30:42
【问题描述】:

我是 PHP 新手,我的 linux 服务器上有存储库,托管 web 的地方。

我有图片文件夹 像 /myfolder/image1-user 等。我想在我的网络门户相册上显示它。我该怎么做?

编辑 我已经迭代了存储图片的目录。现在我有图像路径的数组列表,我使用 IMG SRC 标签来显示,但没有显示任何内容,我还想要存储库中包含照片的每个文件的 URL, 我有这样的图片链接 /myrepo/photos/photos-1/1.jpg 等等

【问题讨论】:

标签: php linux image


【解决方案1】:

您必须遍历存储图像的文件夹。

    <?php

if ($handle = opendir('/path/to/files')) {
    echo "Directory handle: $handle\n";
    echo "Entries:\n";

    /* This is the correct way to loop over the directory. */
    while (false !== ($entry = readdir($handle))) {
        echo "$entry<br/>";
    }

    closedir($handle);
}
?>

【讨论】:

  • 我有所有文件路径的数组列表,现在问题是在门户上查看它们。我使用了 IMG src 标签,但这没有显示图像,而且我想要存储库中照片的 url。
【解决方案2】:

符号链接!

假设您想从您的网络根目录显示,例如/imgs/photos 并且您的文档根目录是默认的 '/var/www'

然后将其符号链接到 webroot 下的真实文件夹,例如:

ln -s /real/path/to/my/photos /var/www/imgs/photos (在命令行上)

然后,当您在 html 中使用 src="/imgs/photos/great-photo.jpg" 时,它将显示“/real/path/to/my/photos/great-photo.jpg”

如果您在具有各种限制(例如 open basedir 等)的共享托管虚拟服务器环境中,这可能不起作用

【讨论】:

    猜你喜欢
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多