Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在网站内部显示来自ftp服务器的图片_Php_Html_Apache_Ubuntu_Ftp - Fatal编程技术网

Php 在网站内部显示来自ftp服务器的图片

Php 在网站内部显示来自ftp服务器的图片,php,html,apache,ubuntu,ftp,Php,Html,Apache,Ubuntu,Ftp,我在试图在另一个网站的FTP服务器上显示图片时遇到了巨大的困难。到目前为止,我一直在尝试的是在iFrame中显示图像。我的代码如下: <body> <?php $pic = file_get_contents('ftp://username:password@servername.net/image.jpg'); echo "<iframe src=". $pic . "> </iframe>"; ?> &

我在试图在另一个网站的FTP服务器上显示图片时遇到了巨大的困难。到目前为止,我一直在尝试的是在iFrame中显示图像。我的代码如下:

<body>

<?php
$pic = file_get_contents('ftp://username:password@servername.net/image.jpg');
echo "<iframe src=". $pic . "> </iframe>";
?>
</body>

当问到这个问题时,这基本上是适用于其他用户的代码,但对我来说,它显示了一个带有以下消息的iframe:

找不到

在此服务器上找不到请求的URL。 servername.net端口1234上的Apache/2.4.29(Ubuntu)服务器


我真的不知道该尝试什么了,因为我已经尝试了几乎所有我找到的解决方案,所以我希望你们中的一位知道如何帮助我。

$pic包含图像数据。因此,您需要将其编码为图像此选项可能会降低旧浏览器的速度。

您应该在标签中显示图像。您可以更好地结合HTML和PHP:

<img src="data:image/jpeg;Base64,<?=base64_encode(file_get_contents('ftp://username:password@servername.net/image.jpg'));?>">
“>
如果图像不可用,请尝试清除浏览器缓存。如果向url添加随机参数,则每次都会更新。我不建议这样做,但如果需要,您可以这样做:

<img src="data:image/jpeg;Base64,<?=base64_encode(file_get_contents('ftp://username:password@servername.net/image.jpg?_t='.time()));?>">
“>

Well$pic可能包含文件数据,而不是URL。你检查过由上面的代码输出的HTML吗?我猜这就是他尝试iFrAME的原因。现在它确实显示了一些东西,只是我确信这不是我想让它显示的图像。它显示了一个小的方块,里面看起来像一张中间撕开的纸。如果有帮助,对于上述代码,它将显示以下html:。顺便说一句,我正在使用firefox作为浏览器,所以经过一些简短的研究,它似乎是他们的断页图标。断页图标是一个错误图像。之后什么都没有,这意味着图像真的不存在。你应该检查一下。