php如何读取二进制文件?

mscbsc 2008-04-02 12:02:03
在用php读取文件的时候,该文件为二进制文件,就是直接文本打开是乱码,用UltraEdit打开用二进制查看是 00 30 80 0A BA 之类的,需要对其进行解码,但我不知用哪种方法能获取这些值,下面是我写的函数,求教高手。

function an2my($file)
{
$repdir="./an/loadfiles/"; /*文件执行到的目录*/
$nom_rep=$repdir.$file;

if (is_readable($nom_rep) == false) {
return "false";
}
else{
$hanle = fopen($nom_rep,'rb');
$buf = fread($hanle,filesize($nom_rep));
fclose($hanle);

$contant = $buf;

return $contant;

}

这样读出来的东西仍然是乱码,我该怎么办?
...全文
1175 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
luou_net 2008-08-30
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yifanwu 的回复:]
引用 1 楼 zmouki 的回复:
二进制文件是不是应该只有0和1啊?怎么还会出现ABC?


我寒
[/Quote]
yifanwu 2008-04-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zmouki 的回复:]
二进制文件是不是应该只有0和1啊?怎么还会出现ABC?
[/Quote]

我寒
zmouki 2008-04-02
  • 打赏
  • 举报
回复
你试试这样写行不行$hanle = fopen($nom_rep,'b');
zmouki 2008-04-02
  • 打赏
  • 举报
回复
二进制文件是不是应该只有0和1啊?怎么还会出现ABC?
张吉Jerry 2008-04-02
  • 打赏
  • 举报
回复

$buf = bin2hex(fread($hanle,filesize($nom_rep)));
mscbsc 2008-04-02
  • 打赏
  • 举报
回复
已发给两位大哥,帮忙看看啊

我的目的是,把这个二进制文件读出来,然后通过文件结构把它翻译成可看的文本,如我直接用UltraEdit打开,用二进制查看可以看到该文件:30 80 A0 80 80 01 01 81 17 59……

按文件结构,第6位应该是01,就是我所要的,同理第9位起就是我所要的文本,问题在于,我怎么取得这第6位和第9位呢?
striker_un 2008-04-02
  • 打赏
  • 举报
回复
把文件发过来....

playboy001 2008-04-02
  • 打赏
  • 举报
回复
路过。。学习了。。。。。。
zmouki 2008-04-02
  • 打赏
  • 举报
回复
把你的那个文件能发来么?我试试看!zmouki@gmail.com
mscbsc 2008-04-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zmouki 的回复:]
你试试这样写行不行$hanle = fopen($nom_rep,'b');
[/Quote]
仍然不行呢

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧