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中Cannot send session cache limiter 的问题的方法
Apr 27 PHP
PHP mail()函数使用及配置方法
Jan 14 PHP
zend framework框架中url大小写问题解决方法
Aug 19 PHP
PHP、Java des加密解密实例
Apr 27 PHP
学习php设计模式 php实现桥梁模式(bridge)
Dec 07 PHP
Joomla开启SEF的方法
May 04 PHP
PHP XML和数组互相转换详解
Oct 26 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
Jun 29 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
May 10 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
Oct 02 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 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 源代码压缩小工具
2009/12/22 PHP
PHP中输出转义JavaScript代码的实现代码
2011/04/22 PHP
php获取根域名方法汇总
2014/10/28 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
php实现通过ftp上传文件
2015/06/19 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
2015/12/18 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
2016/02/01 PHP
php的4种常用运行方式详解
2016/12/22 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
2017/11/20 PHP
PHP实现找出链表中环的入口节点
2018/01/16 PHP
JavaScript游戏之优化篇
2010/11/08 Javascript
js open() 与showModalDialog()方法使用介绍
2013/09/10 Javascript
js调试工具console.log()方法查看js代码的执行情况
2014/08/08 Javascript
AngularJS使用指令增强标准表单元素功能
2016/07/01 Javascript
JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
2016/08/11 Javascript
微信小程序教程之本地图片上传(leancloud)实例详解
2016/11/16 Javascript
基于vue v-for 循环复选框-默认勾选第一个的实现方法
2018/03/03 Javascript
基于Webpack4和React hooks搭建项目的方法
2019/02/05 Javascript
python使用scrapy解析js示例
2014/01/23 Python
django利用request id便于定位及给日志加上request_id
2018/08/26 Python
Python实现合并excel表格的方法分析
2019/04/13 Python
Windows下Anaconda安装、换源与更新的方法
2020/04/17 Python
Django如何使用jwt获取用户信息
2020/04/21 Python
django 数据库返回queryset实现封装为字典
2020/05/19 Python
Armor Lux法国官方网站:水手服装、成衣和内衣
2020/05/26 全球购物
大学同学十年聚会感言
2014/02/21 职场文书
保护地球的标语
2014/06/17 职场文书
安全资料员岗位职责范本
2014/06/28 职场文书
授权委托书怎么写
2014/09/25 职场文书
党员领导干部民主生活会批评与自我批评发言
2014/09/28 职场文书
2015年妇幼保健工作总结
2015/05/19 职场文书
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
2021/03/31 HTML / CSS
MySQL复制问题的三个参数分析
2021/04/07 MySQL
springboot集成springCloud中gateway时启动报错的解决
2021/07/16 Java/Android
CentOS安装Nginx并部署vue
2022/04/12 Servers
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers