php实现文件与16进制相互转换的方法示例


Posted in PHP onFebruary 16, 2017

前言

本文给大家介绍的是如何使用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
 */
function fileToHex($file){
 if(file_exists($file)){
 $data = file_get_contents($file);
 return bin2hex($data);
 }
 return '';
}

/**
 * 将16进制内容转为文件
 * @param String $hexstr 16进制内容
 * @param String $file 保存的文件路径
 */
function hexToFile($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);

echo '16进制转文件<br>';
var_dump(file_exists($newfile));

?>

输出:

文件转16进制
efbbbf3130e4b8aae4bfafe58da7e69291e28094e280943235e4b8aae4bbb0e58da7e8b5b7...

16进制转文件
boolean true

总结

以上就是这篇文章的全部内容内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
用PHP实现多级树型菜单
Oct 09 PHP
PHP的面试题集,附我的答案和分析(一)
Nov 19 PHP
PHP mail 通过Windows的SMTP发送邮件失败的解决方案
May 27 PHP
PHP读取XML值的代码(推荐)
Jan 01 PHP
php动态实现表格跨行跨列实现代码
Nov 06 PHP
getJSON跨域SyntaxError问题分析
Aug 07 PHP
JavaScript与HTML结合的基本使用方法整理
Oct 12 PHP
PHP购物车类Cart.class.php定义与用法示例
Jul 20 PHP
PHP实现的简单对称加密与解密方法实例小结
Aug 28 PHP
详解php伪造Referer请求反盗链资源
Jan 24 PHP
php模式设计之观察者模式应用实例分析
Sep 25 PHP
PHP7 list() 函数修改
Mar 09 PHP
php根据用户名和手机号查询是否存在手机号码
Feb 16 #PHP
php使用PDO执行SQL语句的方法分析
Feb 16 #PHP
php四种定界符详解
Feb 16 #PHP
php使用PDO获取结果集的方法
Feb 16 #PHP
redirect_uri参数错误的解决方法(必看)
Feb 16 #PHP
php实现PDO中捕获SQL语句错误的方法
Feb 16 #PHP
php中的单引号、双引号和转义字符详解
Feb 16 #PHP
You might like
php合并js请求的例子
2013/11/01 PHP
php中heredoc与nowdoc介绍
2014/12/25 PHP
无语,javascript居然支持中文(unicode)编程!
2007/04/12 Javascript
JavaScript日期时间与时间戳的转换函数分享
2015/01/31 Javascript
jquery append 动态添加的元素事件on 不起作用的解决方案
2015/07/30 Javascript
JavaScript高级程序设计(第三版)学习笔记6、7章
2016/03/11 Javascript
深入解析JavaScript中的arguments对象
2016/06/12 Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
2016/12/06 Javascript
JavaScript 实现 Tab 点击切换实例代码
2017/03/25 Javascript
详解如何将angular-ui的图片轮播组件封装成一个指令
2017/05/09 Javascript
JS判断时间段的实现代码
2017/06/14 Javascript
微信小程序 如何引入外部字体库iconfont的图标
2018/01/31 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
2018/03/08 Javascript
JavaScript实现的DOM绘制柱状图效果示例
2018/08/08 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
2020/05/01 Javascript
jQuery实现视频展示效果
2020/05/30 jQuery
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
[03:37]2015国际邀请赛第四日现场精彩集锦
2015/08/08 DOTA
python执行等待程序直到第二天零点的方法
2015/04/23 Python
Python编程中对super函数的正确理解和用法解析
2016/07/02 Python
Python列表推导式与生成器表达式用法示例
2018/02/08 Python
python+splinter实现12306网站刷票并自动购票流程
2018/09/25 Python
python linecache 处理固定格式文本数据的方法
2019/01/08 Python
Python使用ctypes调用C/C++的方法
2019/01/29 Python
python使用pymongo操作mongo的完整步骤
2019/04/13 Python
PyTorch搭建一维线性回归模型(二)
2019/05/22 Python
wxPython多个窗口的基本结构
2019/11/19 Python
python logging模块的使用
2020/09/07 Python
电子信息毕业生自荐信
2013/11/16 职场文书
博士生入学考试推荐信
2013/11/17 职场文书
学生爱国演讲稿
2014/01/14 职场文书
简历自我评价模版
2014/01/31 职场文书
毕业生面试求职信
2014/06/23 职场文书
保研推荐信格式
2015/03/25 职场文书
2016年校长新年寄语
2015/08/17 职场文书
三八红旗手主要事迹材料
2015/11/04 职场文书