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 防恶意刷新实现代码
May 16 PHP
PHPer 需要了解的 5 个 Composer 小技巧
Aug 18 PHP
PHP实现AES256加密算法实例
Sep 22 PHP
php读取csv文件并输出的方法
Mar 14 PHP
PHP 反射(Reflection)使用实例
May 12 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
Sep 28 PHP
php 三元运算符实例详细介绍
Dec 15 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
Sep 30 PHP
Laravel框架使用Redis的方法详解
May 30 PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
Oct 25 PHP
PHP asXML()函数讲解
Feb 03 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
Oct 15 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 Directory 函数的详解
2013/03/07 PHP
PHP中each与list用法分析
2016/01/08 PHP
JavaScript的Cookies
2008/01/16 Javascript
js 全兼容可高亮二级缓冲折叠菜单
2010/06/04 Javascript
精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程
2012/08/22 Javascript
验证手机号码的JS方法分享
2013/09/10 Javascript
JS 去除Array中的null值示例代码
2013/11/20 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
jquery实现华丽的可折角广告代码
2015/09/02 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
2015/12/03 Javascript
值得分享和收藏的xmlplus组件学习教程
2017/05/05 Javascript
jQuery复合事件用法示例
2017/06/10 jQuery
深入理解vue2.0路由如何配置问题
2017/07/18 Javascript
Vue自定义指令实现checkbox全选功能的方法
2018/02/28 Javascript
详解Webpack-dev-server的proxy用法
2018/09/08 Javascript
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
2019/04/12 Javascript
JS回调函数原理与用法详解【附PHP回调函数】
2019/07/20 Javascript
javascript for循环性能测试示例
2019/08/07 Javascript
vue-router路由模式详解(小结)
2019/08/26 Javascript
vue指令v-html使用过滤器filters功能实例
2019/10/25 Javascript
微信小程序事件流原理解析
2019/11/27 Javascript
JS实现点餐自动选择框(案例分析)
2019/12/10 Javascript
JS eval代码快速解密实例解析
2020/04/23 Javascript
React.js组件实现拖拽排序组件功能过程解析
2020/04/27 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
2020/07/22 Javascript
Element Notification通知的实现示例
2020/07/27 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
[44:01]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS paiN
2018/03/31 DOTA
python二元表达式用法
2019/12/04 Python
Hotels.com香港酒店网:你的自由行酒店订房专家
2018/01/22 全球购物
英国排名第一的LED灯泡网站:LED Bulbs
2019/09/03 全球购物
自荐书范文范例
2014/02/13 职场文书
优秀辅导员事迹材料
2014/02/16 职场文书
报关专员求职信范文
2014/02/22 职场文书
小兵张嘎观后感
2015/06/03 职场文书
浅谈Python数学建模之固定费用问题
2021/06/23 Python