Php 从FTP获取图像而不在本地保存并打印
我正在尝试从FTP服务器获取图像,然后在不保存到本地的情况下打印它。我的问题是,图像可能是某种加密的形式,或者是二进制的,老实说,我不知道 到目前为止,我确实掌握了以下代码:Php 从FTP获取图像而不在本地保存并打印,php,Php,我正在尝试从FTP服务器获取图像,然后在不保存到本地的情况下打印它。我的问题是,图像可能是某种加密的形式,或者是二进制的,老实说,我不知道 到目前为止,我确实掌握了以下代码: public function getImagePreview($imageName){ if(ftp_get($this->connection, "php://output", "web/media/images/".$imageName, FTP_BINARY)){ $data = ob_get_c
public function getImagePreview($imageName){
if(ftp_get($this->connection, "php://output", "web/media/images/".$imageName, FTP_BINARY)){
$data = ob_get_contents();
$dataSize = ob_get_length();
ob_end_clean();
return array('data' => $data, 'size' => $dataSize);
}else{
return false;
}
}
这是我从文件调用的一个对象中的一个方法,下面是我试图显示图像的代码
这一行用于获取图像(调用上面的函数),但它是一个不同的PHP文件!这是一个视图文件
require_once "../objects/ftpm.php";
$ftpM = new FTPManager();
$image = $ftpM->getImagePreview($imageName);
在这里,我试图打印图像
<span> Preview </span>
<img class="materialboxed" width="650" src="<?php echo $image["data"]; ?>"/>
预览
"/>
但它实际上显示了大量的代码(我只显示了几行代码作为示例,因为它非常长):
���� JFIFdd��达克伊德�� Adobed������保险商实验室��� u!“1A2#QBa$3Rq�B�%C���&4r��5'�中六��DTsEF7Gc(UVW�����D�T��E�����)8f�u*9:HIJXYZGHJVWXYZ�������������������������������������������������������m!1英寸AQ2aqB�#�R�b3�$��铬��4%�ScD�&5T6Ed's��英尺����UeuV7��������)��������������(GWf8v)��������吉瓦��������HXhx��������9IYiy��������:JZjz����������?��ߺ�^����U�~��{ߺ�^����U�~��{ߺ�^����U�~��{ߺ�^����U�~��{ߺ�^����U�~��{ߺ�^����U�~��{ߺ�^����U�~��{ߺ�^����U�~��{ߺ�^����U�~��{ߺ�^����U�~��{ߺ�^���ߺ�Pq�uHRh�����F�b1��ޖ��x%w>y美元�{�M]^���乌兹�凯马��{��^�>���VIG�����L�J���Sn8���{��L��W�'��2.��血红蛋白���2.�a�9s9�Zq9ZX�Q���啊!���j&�U��我��6ߺ�K��0�s�]T�吉伊֊/�>o=\�-埃博�_�{�=NRz$�T����5%|�(J)�����J����X�#�����{�/%哦����� rX(Q�b=��T��N�一、 F�Lg���6.�@��e] Ib����/��{��E�Ʀ@�1hI“G���44�T�A.��������k�����(��\R�Z2Y������>�o��{�^�7SUG)ED2���&���F�L�^_�Z�U��*j�)�H���代码>��2.����#��� e1�Z����=��t1�我�|5-VJ�9ni%�Ti$Q��X��UTF����~~��Y���WӭM$�嗯��&���C��0������~��4U;N�^$E{8
谢谢任何帮助!
你不能在HTML文档中间放置一个不同的标题。。它似乎试图以图像文件的形式打开整个PHP页面。Chrome也做了同样的事情。@Quentin我把它放在了页面的页眉中。@Quentin我不知道是否有其他方法可以直接显示流到图像源中而不创建文件。唯一的解决方法是用内容类型页眉显示图像。@JanKočva但是这个页面是一个HTML文档。声称整个页面是JPEG是没有帮助的。$ftpM = new FTPManager();
$image = $ftpM->getImagePreview($imageName);
$type = 'jpeg'; // file type here
header("content-type: image/{$type}");
echo $image['data'];