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 相关文章推荐
关于Intype一些小问题的解决办法
Mar 28 PHP
php date()日期时间函数详解
May 16 PHP
Sorting Array Values in PHP(数组排序)
Sep 15 PHP
PHP5权威编程阅读学习笔记 附电子书下载
Jul 05 PHP
深入php多态的实现详解
Jun 09 PHP
QQ互联一键登录审核不通过的解决方案
Sep 10 PHP
php生成随机数的三种方法
Sep 10 PHP
thinkphp中ajax与php响应过程详解
Dec 08 PHP
php实现发送微信模板消息的方法
Mar 07 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
Mar 29 PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
Oct 13 PHP
php实现商城购物车的思路和源码分析
Jul 23 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
Protoss兵种对照表
2020/03/14 星际争霸
php截取中文字符串不乱码的方法
2013/12/25 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
2015/12/14 PHP
PHP检测数据类型的几种方法(总结)
2017/03/04 PHP
JavaScript 继承详解(三)
2009/07/13 Javascript
jquery.lazyload  实现图片延迟加载jquery插件
2010/02/06 Javascript
jQuery插件开发基础简单介绍
2013/01/07 Javascript
js控制滚动条缓慢滚动到顶部实现代码
2013/03/20 Javascript
在javascript中关于节点内容加强
2013/04/11 Javascript
Asp.Net alert弹出提示信息的几种方法总结
2014/01/29 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
2016/07/07 Javascript
AngularJS中的API(接口)简单实现
2016/07/28 Javascript
js图片轮播手动切换特效
2017/01/12 Javascript
vuejs事件中心管理组件间的通信详解
2017/08/09 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
使用canvas实现一个vue弹幕组件功能
2018/11/30 Javascript
jQuery实现王者荣耀手风琴效果
2020/01/17 jQuery
解析Python中的异常处理
2015/04/28 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
python开发之tkinter实现图形随鼠标移动的方法
2015/11/11 Python
django2用iframe标签完成网页内嵌播放b站视频功能
2018/06/20 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
2018/12/24 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
2019/08/05 Python
python json 递归打印所有json子节点信息的例子
2020/02/27 Python
python 实现压缩和解压缩的示例
2020/09/22 Python
英国最大的高品质珠宝和手表专家:Goldsmiths
2017/03/11 全球购物
Rag & Bone官网:瑞格布恩高级成衣
2018/04/19 全球购物
上海方立数码笔试题
2013/10/18 面试题
大学生创业计划书的范文
2014/01/07 职场文书
餐厅销售主管职责范本
2014/02/19 职场文书
生产部厂长助理职位说明书
2014/03/03 职场文书
我们的节日中秋活动方案
2014/08/19 职场文书
欢迎词范文
2015/01/27 职场文书
课文《燕子》教学反思
2016/02/17 职场文书
php中配置文件保存修改操作 如config.php文件的读取修改等操作
2021/05/12 PHP