首页 > 开发 > PHP > 正文

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

2024-05-04 22:01:08
字体:大 中 小
来源:转载
供稿:网友

前言:本文给大家介绍的是如何使用PHP实现文件与16进制相互转换,例如可以把文件转为16进制后保存到数据库中,也可以把16进制数据转为文件保存。

代码如下:

  1. <?php 
  2. /** 
  3.  * php 文件与16进制相互转换 
  4.  * Date: 2017-01-14 
  5.  * Author: fdipzone 
  6.  * Ver: 1.0 
  7.  * 
  8.  * Func 
  9.  * fileToHex 文件转16进制 
  10.  * hexToFile 16进制转为文件 
  11.  */ 
  12.   
  13. /** 
  14.  * 将文件内容转为16进制输出 
  15.  * @param String $file 文件路径 
  16.  * @return String 
  17.  */ 
  18. functionfileToHex($file){ 
  19.  if(file_exists($file)){ 
  20.  $data=file_get_contents($file); 
  21.  returnbin2hex($data); 
  22.  } 
  23.  return''; 
  24. } 
  25.   
  26. /** 
  27.  * 将16进制内容转为文件 
  28.  * @param String $hexstr 16进制内容 
  29.  * @param String $file 保存的文件路径 
  30.  */ 
  31. functionhexToFile($hexstr,$file){ 
  32.  if($hexstr){ 
  33.  $data= pack('H*',$hexstr); 
  34.  file_put_contents($file,$data, true); 
  35.  } 
  36. } 
  37.   
  38. // 演示 
  39. $file='test.doc'; 
  40.   
  41. // 文件转16进制 
  42. $hexstr= fileToHex($file); 
  43. echo'文件转16进制<br>'; 
  44. echo$hexstr.'<br><br>'; 
  45.   
  46. // 16进制转文件 
  47. $newfile='new.doc'; 
  48. hexToFile($hexstr,$newfile); 
  49. //Vevb.com 
  50. echo'16进制转文件<br>'; 
  51. var_dump(file_exists($newfile)); 
  52.   
  53. ?> 

输出:

文件转16进制

efbbbf3130e4b8aae4bfafe58da7e69291e28094e280943235e4b8aae4bbb0e58da7e8b5b7...

16进制转文件

boolean true

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表