当前位置:首页 » 编程语言 » php字节流

php字节流

发布时间: 2022-07-14 03:15:14

1. php处理字节流

字节流是由字节组成的,
字节流是最基本的,所有的InputStrem和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的

字符流和字节流都是什么
流就是stream. 一个连续的字节队列。

流是程序输入或输出的一个连续的字节序列,设备(例如鼠标,键盘,磁盘,屏幕和打印机)的输入和输出都是用流来处理的。在C语言中,所有的流均以文件的形式出现---不一定是物理磁盘文件,还可以是对应与某个输入/输出源的逻辑文件

流(streams)在I/O系统中是一种I/O机制和功能,或者称为streams子系统。它本身并不是一个物理设备的概念。
引入流的目的:
传统的字符设备驱动程序框架有许多缺点,这表现在:
。内核与字符设备驱动程序间接口的抽象层次太高
。内核没有为字符设备提供可靠的缓冲区分配和管理功能
。许多系统对字符设备的界面是把数据看成是FIFO(先进先出)的字节流,因此没有识别消息边界,区分普通设备和控制信息,以及判定不同消息优先级的能力,也没有字节流流量控制
。在网络数据传输设备中这些问题更突出。网络中数据传输是基于消息或数据分组的。
流的概念:
用通讯中的术语来说,流是全双工的处理过程,它是内核中驱动程序和用户进程之间的数据传输通道。
从流的构造上来说,它由一个流头,一个流驱动程序尾,以及其间的零个或若干个可选模块构成 。流头是一个用户级接口,它允许用户应用程序通过系统调用接口来访问流。驱动程序尾与底层设备通信。在流的中间的模块是处理数据的。

字节流与字符流主要的区别是他们的的处理对象

字节流是由字节组成的,字符流是由字符组成的. Java里字符由两个字节组成.

字节流是最基本的,所有的InputStrem和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的
但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化。在从字节流转化为字符流时,实际上就是byte[]转化为String时,
public String(byte bytes[], String charsetName)
有一个关键的参数字符集编码,通常我们都省略了,那系统就用操作系统默认的lang

流式传输主要指将整个音频和视频及三维媒体等多媒体文件经过特定的压缩方式解析成一个个压缩包,由视频服务器向用户计算机顺序或实时传送。在采用流式传输方式的系统中,用户不必像采用下载方式那样等到整个文件全部下载完毕,而是只需经过几秒或几十秒的启动延时即可在用户的计算机上利用解压设备对压缩的A/V、3D等多媒体文件解压后进行播放和观看。此时多媒体文件的剩余部分将在后台的服务器内继续下载。

2. php怎样获取上传图片的字节流呢

网页文件上传实际上在表单提交的时候,如果上传没有问题,文件已经上传到服务器的临时文件夹了。
在php中,有文件上传,那么php服务器端可以接收到请求参数 $_FILES,在 $_FILES数组中读取到上传文件的form表单名,然后在读取的数组中可以获取上传文件的源文件,使用 fopen()函数就可以获取文件的字节流了。
具体来点代码看看吧:(假定上传文件的表单名为 “formname”)
if($_FILES && isset($_FILES["formname"])){
//获取上传的文件的属性数组
$_fileinfo = $_FILES["formname"];
//获取上传文件的原文件名
$_filename = $_fileinfo["name"];
//获取上传文件的大小
$_filesize = $_fileinfo["size"];
//获取上传文件的临时文件名(长文件名)
$_filesource = $_fileinfo["tmp_name"];
//以读写方式打开文件,并将资源绑定到一个流上
$_filestream = fopen($_filesource,"ab");
//实现上传文件,其实质是把临时文件移动到制定的保存文件的位置
$_newfilename = "../mypath/filename.exp"; //自定义文件名,包含路径,可以是相对路径
move_uploaded_file($_filesource, $_newfilename);
}

3. 字符流和字节流的区别以及如何解决乱码问题

字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,
操作字节和字节数组。所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多国语言支持性比较好!如果是
音频文件、图片、歌曲,就用字节流好点,如果是关系到中文(文本)的,用字符流好点.
所有文件的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。在读取文件(特别是文本文件)时,也是一个字节一个字节地读取以形成字节序列.
字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串;
字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。

4. PHP服务器怎样返回数据给客户端反馈HTTP POST请求,发送字节流数据给客户端

你用fread 来读取文件,header不行

5. php如何将图片转成字节流

在php中,有文件上传,那么php服务器端可以接收到请求参数 $_FILES,在 $_FILES数组中读取到上传文件的form表单名,然后在读取的数组中可以获取上传文件的源文件,使用 fopen()函数就可以获取文件的字节流了。
具体来点代码看看吧:(假定上传文件的表单名为 “formname”)
if($_FILES && isset($_FILES["formname"])){
//获取上传的文件的属性数组
$_fileinfo = $_FILES["formname"];
//获取上传文件的原文件名
$_filename = $_fileinfo["name"];
//获取上传文件的大小
$_filesize = $_fileinfo["size"];
//获取上传文件的临时文件名(长文件名)
$_filesource = $_fileinfo["tmp_name"];
//以读写方式打开文件,并将资源绑定到一个流上
$_filestream = fopen($_filesource,"ab");
//实现上传文件,其实质是把临时文件移动到制定的保存文件的位置
$_newfilename = "../mypath/filename.exp"; //自定义文件名,包含路径,可以是相对路径
move_uploaded_file($_filesource, $_newfilename);
}

6. php如何将二进制字符串转换成二进制流

当字符串处理转换就行
/**
* 将字符串转换成二进制
* @param type $str
* @return type
*/
function StrToBin($str){
//1.列出每个字符
$arr = preg_split('/(?<!^)(?!$)/u', $str);
//2.unpack字符
foreach($arr as &$v){
$temp = unpack('H*', $v); $v = base_convert($temp[1], 16, 2);
unset($temp);
}
return join(' ',$arr);
}

7. php bytes数据指的是什么意思

php中,bytes一般是指字节流数据。

8. php怎么将数组变成字符串

PHP
中的
serialize()
函数可以实现
(PHP数组序列化函数)
string
serialize
(
mixed
$value
)
serialize()
返回字符串,此字符串包含了表示
value
的字节流,可以存储于任何地方。
这有利于存储或传递
PHP
的值,同时不丢失其类型和结构。
想要将已序列化的字符串变回
PHP
的值,可使用
unserialize()。
serialize()
可处理除了
resource
之外的任何类型。
比如:
<?php
$array
=
array('a'=>'aa','b'=>'bb');
$str
=
serialize($array);
echo
$str;
$array_temp
=
unserialize($str);
print_r($array_temp);
?>

9. 你好,PHP 使用webserver 服务调用接口怎么传参数 是字节流形式的图片呢

你好,PHP 使用webserver 服务调用接口怎么传参数 是字节流形式的图片呢你好,PHP 使用webserver 服务调用接口怎么传参数 是字节流形式的图片呢

10. 请教php如何实现传输二进制字节流到MTK客户

MTK是啥?
传输二进制字节流,可以考虑用websocket。

热点内容
ata72x是多大的压缩机 发布:2024-05-16 15:07:59 浏览:93
安卓如何实现carplay的功能 发布:2024-05-16 15:02:54 浏览:713
网络如何接通外国游戏服务器 发布:2024-05-16 14:53:34 浏览:628
下载不是缓存 发布:2024-05-16 14:37:06 浏览:504
ssrpc端怎么删除服务器 发布:2024-05-16 13:53:14 浏览:235
如何配置gdc服务器 发布:2024-05-16 13:53:12 浏览:984
安卓系统阿尔法编译器 发布:2024-05-16 13:51:49 浏览:989
建行支付密码器怎么用 发布:2024-05-16 13:50:19 浏览:985
智能手环如何配置 发布:2024-05-16 13:48:00 浏览:484
shell脚本vim 发布:2024-05-16 13:43:15 浏览:302