Maison > Article > développement back-end > 压缩-php获取rar文件里面的内容,输出来如何解析?
压缩扩展php数组对象
最近有一个需求:将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 ) )