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 压缩文件夹的类代码
Nov 05 PHP
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
Mar 15 PHP
php 仿Comsenz安装效果代码打包提供下载
May 09 PHP
php ajax 静态分页过程形式
Sep 02 PHP
php适配器模式介绍
Aug 14 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
Dec 18 PHP
PHP读取txt文本文件并分页显示的方法
Mar 11 PHP
php基于session实现数据库交互的类实例
Aug 03 PHP
使用ltrace工具跟踪PHP库函数调用的方法
Apr 25 PHP
php中实现进程锁与多进程的方法
Sep 18 PHP
Linux平台PHP5.4设置FPM线程数量的方法
Nov 09 PHP
PHP设计模式入门之状态模式原理与实现方法分析
Apr 26 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与XML的PDF文档生成技术
2006/10/09 PHP
PHP分页类集锦
2014/11/18 PHP
php单文件版在线代码编辑器
2015/03/12 PHP
PHP中的类型提示(type hinting)功能介绍
2015/07/01 PHP
PHP中的访问修饰符简单比较
2019/02/02 PHP
轻轻松松学习JavaScript
2007/02/25 Javascript
JavaScript 10件让人费解的事情
2010/02/15 Javascript
jQuery Validation插件remote验证方式的Bug解决
2010/07/01 Javascript
JS匀速运动演示示例代码
2013/11/26 Javascript
Jquery Uploadify上传带进度条的简单实例
2014/02/12 Javascript
javascript获取元素偏移量的方法有哪些
2014/06/24 Javascript
纯CSS3代码实现滑动开关效果
2015/08/19 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
2015/11/21 Javascript
AngularJS Toaster使用详解
2017/02/24 Javascript
vue.js实现备忘录功能的方法
2017/07/10 Javascript
基于Datatables跳转到指定页的简单实例
2017/11/09 Javascript
Angular2实现组件交互的方法分析
2017/12/19 Javascript
vue addRoutes实现动态权限路由菜单的示例
2018/05/15 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
小程序实现搜索界面 小程序实现推荐搜索列表效果
2019/05/18 Javascript
vue改变循环遍历后的数据实例
2019/11/07 Javascript
python提示No module named images的解决方法
2014/09/29 Python
在Python web中实现验证码图片代码分享
2017/11/09 Python
Python脚本修改阿里云的访问控制列表的方法
2019/03/08 Python
windows支持哪个版本的python
2020/07/03 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
请说出这段代码执行后a和b的值分别是多少
2015/03/28 面试题
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
宣传策划类求职信范文
2014/01/31 职场文书
运动会稿件50字
2014/02/17 职场文书
乔布斯斯坦福大学演讲稿
2014/05/23 职场文书
教师政风行风评议心得体会
2014/10/21 职场文书
村干部任职承诺书
2015/01/21 职场文书
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android
openstack云计算keystone组件工作介绍
2022/04/20 Servers