前言:本文给大家介绍的是如何使用PHP实现文件与16进制相互转换,例如可以把文件转为16进制后保存到数据库中,也可以把16进制数据转为文件保存。
代码如下:
- <?php
- /**
- * php 文件与16进制相互转换
- * Date: 2017-01-14
- * Author: fdipzone
- * Ver: 1.0
- *
- * Func
- * fileToHex 文件转16进制
- * hexToFile 16进制转为文件
- */
- /**
- * 将文件内容转为16进制输出
- * @param String $file 文件路径
- * @return String
- */
- functionfileToHex($file){
- if(file_exists($file)){
- $data=file_get_contents($file);
- returnbin2hex($data);
- }
- return'';
- }
- /**
- * 将16进制内容转为文件
- * @param String $hexstr 16进制内容
- * @param String $file 保存的文件路径
- */
- functionhexToFile($hexstr,$file){
- if($hexstr){
- $data= pack('H*',$hexstr);
- file_put_contents($file,$data, true);
- }
- }
- // 演示
- $file='test.doc';
- // 文件转16进制
- $hexstr= fileToHex($file);
- echo'文件转16进制<br>';
- echo$hexstr.'<br><br>';
- // 16进制转文件
- $newfile='new.doc';
- hexToFile($hexstr,$newfile);
- //Vevb.com
- echo'16进制转文件<br>';
- var_dump(file_exists($newfile));
- ?>
输出:
文件转16进制
efbbbf3130e4b8aae4bfafe58da7e69291e28094e280943235e4b8aae4bbb0e58da7e8b5b7...
16进制转文件
boolean true
新闻热点
疑难解答