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 相关文章推荐
NOD32 v2.70.32 简体中文封装版 提供下载了
Feb 27 PHP
php日历[测试通过]
Mar 27 PHP
火车头discuz6.1 完美采集的php接口文件
Sep 13 PHP
通过缓存数据库结果提高PHP性能的原理介绍
Sep 05 PHP
PHP设计模式之责任链模式的深入解析
Jun 13 PHP
php通过ajax实现双击table修改内容
Apr 28 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
Nov 04 PHP
Zend Framework框架Smarty扩展实现方法
Mar 22 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
May 18 PHP
PHP简单检测网址是否能够正常打开的方法
Sep 04 PHP
thinkPHP5.0框架环境变量配置方法
Mar 17 PHP
PHP替换Word中变量并导出PDF图片的实现方法
Nov 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
vBulletin HACK----关于排版的两个HACK
2006/10/09 PHP
php统计数组元素个数的方法
2015/07/02 PHP
提高 DHTML 页面性能
2006/12/25 Javascript
javascript 写类方式之二
2009/07/05 Javascript
Extjs学习笔记之一 初识Extjs之MessageBox
2010/01/07 Javascript
JavaScript基本编码模式小结
2012/05/23 Javascript
使用js操作css实现js改变背景图片示例
2014/03/10 Javascript
javascript搜索框点击文字消失失焦时文本出现
2014/09/18 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
2015/01/27 Javascript
js实现刷新iframe的方法汇总
2015/04/27 Javascript
Angularjs中$http以post请求通过消息体传递参数的实现方法
2016/08/05 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
2017/01/14 Javascript
Express框架之connect-flash详解
2017/05/31 Javascript
JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
2017/07/23 Javascript
jQuery实现获取table中鼠标click点击位置行号与列号的方法
2017/10/09 jQuery
webpack4简单入门实例
2018/09/06 Javascript
vue2中引用及使用 better-scroll的方法详解
2018/11/15 Javascript
JavaScript获取当前url路径过程解析
2019/12/27 Javascript
详解ES6 CLASS在微信小程序中的应用实例
2020/04/24 Javascript
在Linux中通过Python脚本访问mdb数据库的方法
2015/05/06 Python
Python判断直线和矩形是否相交的方法
2015/07/14 Python
Python numpy实现二维数组和一维数组拼接的方法
2018/06/05 Python
基于python的Paxos算法实现
2019/07/03 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
Python Pillow.Image 图像保存和参数选择方式
2020/01/09 Python
python通过opencv实现图片裁剪原理解析
2020/01/19 Python
python为什么要安装到c盘
2020/07/20 Python
python SOCKET编程基础入门
2021/02/27 Python
网络工程与软件技术毕业生自荐信
2013/09/24 职场文书
质检部职责
2013/12/28 职场文书
《列夫托尔斯泰》教学反思
2014/02/10 职场文书
动画设计系毕业生求职信
2014/07/15 职场文书
保险公司反洗钱宣传活动总结
2015/05/08 职场文书
商业计划书格式、范文
2019/03/21 职场文书
Go各时间字符串使用解析
2021/04/02 Golang
教你如何使用Python实现二叉树结构及三种遍历
2021/06/18 Python