jiansva 2016-01-22 02:09 采纳率: 30%
浏览 1524

php获取rar文件里面的内容,输出来如何解析?

最近有一个需求:将rar压缩文件里面的文件名、大小获取出来,解析成json输出来;
查阅了无数资料,得知添加php_rar.dll(如果是zip的话,就添加php_zip.dll扩展),最后通过程序得到rar的相关内容,但对里面获取到的内容格式不知道怎么解析成json,求大神指点一二。

$rar_file = rar_open('222.rar') or die("Failed to open Rar archive");

$entries_list = rar_list($rar_file);

header('Content-Type: text/plain');
print_r($entries_list);

得到数据如下:
Array
(
[0] => RarEntry Object
(
[rarfile:RarEntry:private] => RarArchive Object
(
)

        [position:RarEntry:private] => 0
        [name:RarEntry:private] => tar.php
        [unpacked_size:RarEntry:private] => 64332
        [packed_size:RarEntry:private] => 11726
        [host_os:RarEntry:private] => 2
        [file_time:RarEntry:private] => 2012-07-09 23:47:06
        [crc:RarEntry:private] => 69e1487f
        [attr:RarEntry:private] => 128
        [version:RarEntry:private] => 29
        [method:RarEntry:private] => 51
        [flags:RarEntry:private] => 32928
    )

[1] => RarEntry Object
    (
        [rarfile:RarEntry:private] => RarArchive Object
            (
            )

        [position:RarEntry:private] => 1
        [name:RarEntry:private] => upload.php
        [unpacked_size:RarEntry:private] => 2461
        [packed_size:RarEntry:private] => 1033
        [host_os:RarEntry:private] => 2
        [file_time:RarEntry:private] => 2012-07-09 23:47:06
        [crc:RarEntry:private] => ecc4a20d
        [attr:RarEntry:private] => 128
        [version:RarEntry:private] => 29
        [method:RarEntry:private] => 51
        [flags:RarEntry:private] => 32928
    )

[2] => RarEntry Object
    (
        [rarfile:RarEntry:private] => RarArchive Object
            (
            )

        [position:RarEntry:private] => 2
        [name:RarEntry:private] => urlupload.php
        [unpacked_size:RarEntry:private] => 1877
        [packed_size:RarEntry:private] => 864
        [host_os:RarEntry:private] => 2
        [file_time:RarEntry:private] => 2012-07-09 23:47:06
        [crc:RarEntry:private] => 44a999a9
        [attr:RarEntry:private] => 128
        [version:RarEntry:private] => 29
        [method:RarEntry:private] => 51
        [flags:RarEntry:private] => 32928
    )

[3] => RarEntry Object
    (
        [rarfile:RarEntry:private] => RarArchive Object
            (
            )

        [position:RarEntry:private] => 3
        [name:RarEntry:private] => user.php
        [unpacked_size:RarEntry:private] => 402
        [packed_size:RarEntry:private] => 222
        [host_os:RarEntry:private] => 2
        [file_time:RarEntry:private] => 2012-07-09 23:47:06
        [crc:RarEntry:private] => 22db657e
        [attr:RarEntry:private] => 128
        [version:RarEntry:private] => 29
        [method:RarEntry:private] => 51
        [flags:RarEntry:private] => 32928
    )

  • 写回答

3条回答

  • jiansva 2016-01-22 02:10
    关注

    RarEntry Object这是神马意思?

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog