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实现无限级分类实现代码(递归方法)
Jan 01 PHP
基于PHP5魔术常量与魔术方法的详解
Jun 13 PHP
在PHP中使用X-SendFile头让文件下载更快
Jun 01 PHP
PHP+MySQL修改记录的方法
Jan 21 PHP
简单解决新浪SAE无法上传文件的问题
May 13 PHP
php类自动加载器实现方法
Jul 28 PHP
PHP实现的memcache环形队列类实例
Jul 28 PHP
PHP操作mysql数据库分表的方法
Jun 09 PHP
[原创]php实现 data url的图片生成与保存
Dec 04 PHP
php图片合成方法(多张图片合成一张)
Nov 25 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
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中uploaded_files函数使用方法详解
2011/03/09 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
PHP中非常有用却鲜有人知的函数集锦
2019/08/17 PHP
PHP设计模式(一)工厂模式Factory实例详解【创建型】
2020/05/02 PHP
jQuery 表单验证扩展(三)
2010/10/20 Javascript
Node.js实现文件上传
2016/07/05 Javascript
AngularJS基础 ng-csp 指令详解
2016/08/01 Javascript
js判断价格,必须为数字且不能为负数的实现方法
2016/10/07 Javascript
node.js中的事件处理机制详解
2016/11/26 Javascript
nodejs创建简易web服务器与文件读写的实例
2017/09/07 NodeJs
Vue 父子组件数据传递的四种方式( inheritAttrs + $attrs + $listeners)
2018/05/04 Javascript
CentOS7中源码编译安装NodeJS的完整步骤
2018/10/13 NodeJs
react同构实践之实现自己的同构模板
2019/03/13 Javascript
发布订阅模式在vue中的实际运用实例详解
2019/06/09 Javascript
解决layer.open弹出框不能获取input框的值为空的问题
2019/09/10 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
js实现无缝轮播图插件封装
2020/07/31 Javascript
Python类的专用方法实例分析
2015/01/09 Python
python脚本设置超时机制系统时间的方法
2016/02/21 Python
python机器学习之随机森林(七)
2018/03/26 Python
75条笑死人的知乎神回复,用60行代码就爬完了
2019/05/06 Python
python文本数据处理学习笔记详解
2019/06/17 Python
Python GUI学习之登录系统界面篇
2019/08/21 Python
django连接mysql数据库及建表操作实例详解
2019/12/10 Python
python如何提取英语pdf内容并翻译
2020/03/03 Python
在pycharm中关掉ipython console/PyDev操作
2020/06/09 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
2020/10/26 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
html5 video全屏播放/自动播放的实现示例
2020/08/06 HTML / CSS
美国著名的户外用品品牌:L.L.Bean
2018/01/05 全球购物
加拿大探亲邀请信
2014/01/28 职场文书
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
校友会致辞
2015/07/30 职场文书
python 字典和列表嵌套用法详解
2021/06/29 Python