'b'标志强制二进制模式.
如果要处理二进制文件,则使用'b'标志,即.一个图像.
注意:
当您编写文本文件并想要插入换行符时,您需要为您的操作系统使用正确的行结束字符.
基于Unix的系统
\n用作行结束字符,基于Windows的系统\r\n用作行结束字符,而基于Macintosh的系统\r用作行结束字符.Windows下提供了一个文本转换标记("T"),将透明转换
\n到\r\n与文件工作时.相反,您也可以使用'b'强制二进制模式,这不会转换您的数据.
您可以使用mode参数中的"b"标志来避免转换.用法示例:
$handle_read = fopen($filepath, 'rb');
$handle_write = fopen("/home/user/file.gif", "wb");
Run Code Online (Sandbox Code Playgroud)
所以...... 手册中明确说明了推荐的原因:
如果在处理二进制文件时未指定"b"标志,则可能会遇到奇怪的数据问题,包括损坏的图像文件和\ r \n字符的奇怪问题.
"b"标志的使用也在手册页上注明,fwrite()并且fread()是二进制安全文件读/写功能.
警告:
在区分二进制文件和文本文件(即Windows)的系统上,必须打开文件,并在fopen()模式参数中包含"b".
$filename = "c:\\files\\somepic.gif";
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize($filename));
fclose($handle);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3833 次 |
| 最近记录: |