dio_tcsetattr() 用于设置打开文件的终端属性和波特率。 baud 表示的就是波特率,bits 表示的是位,stop 表示的是停止位,parity 表示的是奇偶校验位。关于这方面的内容需要 《计算机组成原理》 及 《操作系统》 中的一些知识,我也并不十分地清楚,所以也就不详细的解释了。从这里就可以看出,大学课堂上的那些基础课程真的是非常地重要,相信好好学过这些专业基础课程的同学一定能马上明白这个函数的作用。
最后,我们在 dio_read() 中使用了第二个参数来根据字节长度读取文件内容,可以看到读取出来的内容是一段一段的以 4 个字符长度为单位的输出。
总结函数的学习还是比较简单的,核心的还是要知道这个扩展在什么业务场景下更适合使用。在文章开头的介绍中我们已经说明了直接操作文件与普通文件操作的一些区别,在自缓存应用或者需要传输非常大的数据时,直接操作对于 CPU 和 内存 更加地友好。而其它情况,我们还是使用系统默认的文件操作方式就可以了。其实在大部分情况下,我们基本看不出来它们的显著区别。所以在实际应用中,还是那句话,结合业务实际情况,选择最佳的方案。
测试代码:
https://github.com/zhangyue0503/dev-blog/blob/master/php/202010/source/4.PHP中DirectIO直操作文件扩展的使用.php
参考文档:
https://www.php.net/manual/zh/book.dio.php
https://www.ibm.com/developerworks/cn/linux/l-cn-directio/
到此这篇关于PHP中DirectIO直操作文件扩展的使用的文章就介绍到这了,更多相关php扩展的使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章: