PHP关于获取二进制数据流转换为文件的方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP关于获取二进制数据流转换为文件的方法相关的知识,希望对你有一定的参考价值。
对方通过POST传送过来一个JSON格式的数组,数组内容为一个文件的二进制数据流,我获取到后该怎么解析成为一个文件并保存到目标路径呢
参考技术A $content = $_POST['data'];$fp = fopen('/tmp/newfile.bin','w');
fwrite($fp,$content);
以上例子是在data参数上传二进制,并保存到/tmp/newfile.bin中,解析json用json_decode,然后把二进制的那个值赋给content就可以
$bin= bstr2bin($json);
file_put_contents('../somefold/',$bin);
function bstr2bin($input)
// Binary representation of a binary-string
if (!is_string($input)) return null; // Sanity check
// Unpack as a hexadecimal string
$value = unpack('H*', $input);
// Output binary representation
$value = str_split($value[1], 1);
$bin = '';
foreach ($value as $v)
$b = str_pad(base_convert($v, 16, 2), 4, '0', STR_PAD_LEFT);
$bin .= $b;
return $bin;
php将图片文件转换成二进制输出的方法
参考技术A 本文实例讲述了php将图片文件转换成二进制输出的方法。分享给大家供大家参考。具体实现方法如下:1
2
3
4
header(
Content-type:
image/jpeg);
$PSize
=
filesize('1.jpg');
$picturedata
=
fread(fopen('1.jpg',
r),
$PSize);
echo
$picturedata;
就这么简单4行代码,就将图片以二进制流的形式输出到客户端了,和打开一张图片没有任何区别。
这里需要注意的是,发送的header要根据具体情况而定,不一定都是image/jpeg。JPG的就是image/jpeg,但PNG的就是image/png.不同类型的图片输出不同的头部。
以上是关于PHP关于获取二进制数据流转换为文件的方法的主要内容,如果未能解决你的问题,请参考以下文章