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
打造计数器DIY三步曲(下)
Oct 09 PHP
PHP 高手之路(二)
Oct 09 PHP
php curl的深入解析
Jun 02 PHP
php curl获取网页内容(IPV6下超时)的解决办法
Jul 16 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
Nov 20 PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
May 12 PHP
PHP实现支持加盐的图片加密解密
Sep 09 PHP
php file_get_contents取文件中数组元素的方法
Apr 01 PHP
PHP后台实现微信小程序登录
Aug 03 PHP
Yii框架中使用PHPExcel的方法分析
Jul 25 PHP
YII2框架中日志的配置与使用方法实例分析
Mar 18 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 mb_convert_encoding 获取字符串编码类型实现代码
2009/04/26 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
2016/03/02 PHP
详解PHP实现定时任务的五种方法
2016/07/25 PHP
PHP迭代器接口Iterator用法分析
2017/12/28 PHP
总结PHP内存释放以及垃圾回收
2018/03/29 PHP
JSON扫盲帖 JSON.as类教程
2009/02/16 Javascript
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
基于Jquery的动态创建DOM元素的代码
2010/12/28 Javascript
jquery异步调用页面后台方法&amp;#8207;(asp.net)
2011/03/01 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
2013/12/12 Javascript
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
2014/04/03 Javascript
Javascript玩转继承(三)
2014/05/08 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
2014/12/18 Javascript
jquery 插件实现瀑布流图片展示实例
2015/04/03 Javascript
js实现的在线调色板功能完整实例
2016/12/21 Javascript
微信小程序开发(二)图片上传+服务端接收详解
2017/01/11 Javascript
jquery.cookie.js的介绍与使用方法
2017/02/09 Javascript
jQuery实现的简单对话框拖动功能示例
2018/06/05 jQuery
分享vue里swiper的一些坑
2018/08/30 Javascript
wxPython 入门教程
2008/10/07 Python
pycharm 使用心得(二)设置字体大小
2014/06/05 Python
Django与JS交互的示例代码
2017/08/23 Python
python tkinter基本属性详解
2019/09/16 Python
使用python制作一个解压缩软件
2019/11/13 Python
python科学计算之narray对象用法
2019/11/25 Python
django3.02模板中的超链接配置实例代码
2020/02/04 Python
Python中pyecharts安装及安装失败的解决方法
2020/02/18 Python
Html5新增标签有哪些
2017/04/13 HTML / CSS
印度尼西亚最大的电商平台:Tokopedia(印尼版淘宝)
2017/12/02 全球购物
大学生学习自我评价
2014/01/13 职场文书
产品质量承诺书范文
2014/03/27 职场文书
教师三严三实对照检查材料
2014/09/25 职场文书
八项规定个人对照检查材料思想汇报
2014/09/25 职场文书
医德医风自我评价2015
2015/03/03 职场文书
陪护人员误工证明
2015/06/24 职场文书
团拜会主持词
2015/07/04 职场文书