php实现文件与16进制相互转换的方法示例

 更新时间:2017年02月16日 11:33:33   作者:傲雪星枫  
这篇文章主要介绍了php实现文件与16进制相互转换的方法,文中给出了详细的示例代码,需要的朋友可以参考借鉴,下面来一起看看吧。

前言

本文给大家介绍的是如何使用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

总结

以上就是这篇文章的全部内容内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • PHPMailer安装方法及简单实例

    PHPMailer安装方法及简单实例

    PHPMailer是一个用PHP写的用于邮件发送的类,有点像Jmail,相信很多新手和我一样,开始很茫然,不知道怎么安装,查找了一下,发现这方面的资料真的少之又少,一个文章被转载千百次,一搜索全是同一个内容,真不知道说什么好,其实打开安装里的readme就一目了然了,闲话少说,安装其实很简单。
    2008-11-11
  • zen cart新进商品的随机排序修改方法

    zen cart新进商品的随机排序修改方法

    由于新进商品的数量可能比页面上能显示的数量多,所以采用的是随机显示的方式。如果想改为按时间顺序显示,可以按照radnows提供的 方法修改。(记住使用文件替代)
    2010-09-09
  • PHP简单实现文本计数器的方法

    PHP简单实现文本计数器的方法

    这篇文章主要介绍了PHP简单实现文本计数器的方法,涉及PHP针对文本文件的简单判断,读取及写入等操作技巧,需要的朋友可以参考下
    2016-04-04
  • PHPCMS的使用小结

    PHPCMS的使用小结

    前段时间仔细看了一下PHPCMS这套开源的系统,实现了程序与模板分离,觉得写得真的不错。本人很少关注开源系统,尤其是PHP的,觉得PHP本身就是一个宠大的函数库,不过几千个系统函数确实解决了不少问题。
    2010-09-09
  • php使用正则表达式进行字符串搜索的方法

    php使用正则表达式进行字符串搜索的方法

    这篇文章主要介绍了php使用正则表达式进行字符串搜索的方法,实例分析了php正则表达式的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • php设计模式 Mediator (中介者模式)

    php设计模式 Mediator (中介者模式)

    用一个中介对象来封装一系列的对象交互,使各对象不需要显式地相互引用从而使其耦合松散,而且可以独立地改变它们之间的交互
    2011-06-06
  • PHP优化之批量操作MySQL实例分析

    PHP优化之批量操作MySQL实例分析

    这篇文章主要介绍了PHP优化之批量操作MySQL,结合实例形式对比分析了PHP批量操作MySQL相关实现技巧与操作注意事项,需要的朋友可以参考下
    2020-04-04
  • PHP与C#分别格式化文件大小的代码

    PHP与C#分别格式化文件大小的代码

    发现了一个格式化文件大小的方法, 很帅, 很简洁, 尤其是 PHP 版的, 只需要 2 行代码
    2011-05-05
  • PHP的异常处理类Exception的使用及说明

    PHP的异常处理类Exception的使用及说明

    异常处理的基本思想是代码在try代码被调用执行。如果try码块出现错误,我们可以执行一个抛出异常的处理
    2012-06-06
  • php魔术变量用法实例详解

    php魔术变量用法实例详解

    这篇文章主要介绍了php魔术变量用法,以实例形式详细分析了php中常见的各种魔术变量的具体用法,并补充说明了php中的魔术方法,具有不错的参考借鉴价值,需要的朋友可以参考下
    2014-11-11

最新评论