【问题标题】:Output image in different directory with PHP使用PHP在不同目录中输出图像
【发布时间】:2011-12-19 21:06:59
【问题描述】:

我有一个位于 public_html 之外的 PNG 图像。我想把那张照片放在<img> 标签中。有谁知道如何用 php 做到这一点?

【问题讨论】:

  • 糟糕。我的意思是一个 标签。
  • 这是不可能的。您要么必须使用 .htaccess 规则在内部定向 URL,要么使用 PHP 文件读取文件内容并回显它。

标签: php html image png


【解决方案1】:

你可以有一个输出图像的中介,发送正确的标题:

<?php

$path = '/some/sanizied/path.png';

header( 'Content-Type: image/png' );
// other headers like Length are nice, too.
readfile( $path );

还有 X-Sendfile 和 X-Accel-Redirect 标头可以指示您的 Web 服务器传送另一个文件。这消除了一些 PHP 开销。

【讨论】:

  • 酷。如果您让用户在 URI 中提供路径,请采取一些预防措施。例如,在假定的路径上运行 realpath() 并确保结果在预期的目录中。
【解决方案2】:

我认为你真的只是问一个简单的 html 问题,但我需要查看你的实际代码才能给你一个准确的答案。

如果 png 图像文件位于另一个文件/目录位置,您的代码可能看起来像这样。

<img src='../file2/happy.png' alt='happy' />

上面将上一级目录,然后进入文件夹'file2'并指向那里的happy.png图像文件。

当涉及到指定图像文件的目录位置时,与 php 无关,除非您尝试动态创建定期更改的位置。

【讨论】:

  • public_html 中的所有文件都可以通过网站的根目录访问。网站根目录下的../../../../指向根目录,也就是public_html目录。
  • 那不行,因为文件夹不在public_html中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多