php - 从 FTP 获取图像而不在本地保存并打印
问题描述
我正在尝试从 FTP 服务器获取图像并在之后打印它而不将其保存在本地。我的问题是,图像可能是某种加密形式,或者是二进制,老实说我不知道。
这是我到目前为止的代码:
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��Duckyd��Adobed������Ul��� u!"1A2# QBa$3Rq�b�%C���&4r ��5'�S6��DTsEF7Gc( UVW������d�t��������)8f�u*9:HIJXYZghijvwxyz��������������������������� ������������������������������m!1"AQ2aqB�#�R�b3 �$��Cr��4% ��ScD�&5T6Ed' s��Ft����UeuV7��������)��������������(GWf8v��������gw ��������HXhx��������9IYiy�������� :JZjz����������?��������^����u
解决方案
$ftpM = new FTPManager();
$image = $ftpM->getImagePreview($imageName);
$type = 'jpeg'; // file type here
header("content-type: image/{$type}");
echo $image['data'];
推荐阅读
- json - 如何访问 data.d.results 上的这些数据
- r - R中GIS地图的自动标签放置
- python - 迭代一段时间后,前向传递速度变慢了 10000 倍
- webpack - 与 webpack 捆绑时模块未找到纱线 2
- image - 转换的 tfjs 模型抛出模型配置空错误
- arrays - 将用户值存储在数组中,然后使用 bash 比较这些变量
- directory - 用户如何选择桌面上要使用 applescript 使用数字名称创建的文件夹数量?
- firebase - Firebase - 缺少 IAM 权限“cloudscheduler.jobs.update”
- git - 无法从远程推送 git 标签?
- android - 为什么 Retrofit reponse.body().toString() 不显示响应中的 JSON?