【发布时间】:2013-02-20 10:56:07
【问题描述】:
我被困住了,我希望这里有人可以帮助我。
我想在 php 脚本中创建一个文件的链接(该文件实际上是一个图像,一个 .tif 图像)。我无情地用谷歌搜索了这个,但无济于事。
防火墙阻止了外部连接,但我在模拟内部连接的机器上运行此查询。我目前使用这台机器允许外部用户运行访问内部数据库的查询,所以我知道这是可行的……
例如这部分工作得很好:
$result = pg_query($conn, $query);
while($row=pg_fetch_assoc($result))
{
echo "<p>image details:<br />image: <u>" . $row['field'] . "</u> image date: <u>" . $row['field'] . "</u> image path: <u>" . $row['filename'] . "</u></p>";
我想变成链接的查询部分是$row['filename'],它返回为
//host\path\path\path\path\path\path\path.TIF
...但现在我想访问与这些查询相关的某些文件。我想将此文件名转换为 url,当放入链接时,会转到此文件并打开它:
$imageURL = $row['filename'];
echo "<p>Using imageURL: <a href='$imageURL' border='0' target='_blank'>Click Here</a></p>";
也许这是不可能的。 我似乎无法弄清楚如何获取图像。
我没有 imagemagick 或 imagick,我不想走那条路。提前感谢您的帮助。
编辑
我运行查询的机器是http://webapps.example.com
我正在查询的机器(图像所在的位置)不是 - 我试图返回的图像路径(作为链接)是 //hostipaddress\path\path\path\path\path\path\filename.TIF
【问题讨论】:
-
显示一个实际示例,说明 $imageURL 当前包含的内容以及您希望它的外观。如果您的问题是关于通过网络重新格式化该路径与路由信息,我会感到困惑。
-
返回为 //host\path\path\path\path\path\path\path.TIF。我不知道我想要它看起来像什么,这就是问题所在。我已将其重新格式化为 \\host\path\path\path\path\path\path\filename.TIF,当我将其复制并粘贴到内部浏览器中时,它可以正常工作。在此之前,我无法获得删除 www.domain.com/ 的链接。不知道是不是这个问题...
-
图像主机是运行网络服务器还是网络共享?我问是因为“从内存”你不能使用 firefox 或 chrome 以这种方式链接到网络资源上的文件,但 Internet Explorer 应该使用文件链接,例如 file://///host/path/path/path/path /path/path/path.TIF
-
图片所在的服务器是网络共享。承载此查询的机器是外部的。
-
这听起来像是客户端(浏览器)安全问题,您使用的是哪个浏览器?
标签: php image postgresql hyperlink