1--TEST-- 2RarEntry::extract() method (corrupt RAR file) 3--SKIPIF-- 4<?php if(!extension_loaded("rar")) print "skip"; ?> 5--FILE-- 6<?php 7$rar_file1 = rar_open(dirname(__FILE__).'/corrupted.rar'); 8$entries = rar_list($rar_file1); 9echo count($entries)." files (will test only the first 4):\n\n"; 10//var_dump($entries); 11$i = 0; 12foreach ($entries as $e) { 13 if ($i++ >= 4) 14 break; 15 echo "Extraction of file #$i:\n"; 16 $ret = $e->extract(false, dirname(__FILE__).'/temp.txt'); 17 if ($ret) 18 echo "\tSUCCESS\n"; 19 else 20 echo "\tFAILED\n"; 21 22 echo "\n"; 23} 24 25@unlink(dirname(__FILE__).'/temp.txt'); 26 27echo "Done\n"; 28?> 29--EXPECTF-- 3051 files (will test only the first 4): 31 32Extraction of file #1: 33 SUCCESS 34 35Extraction of file #2: 36 37Warning: RarEntry::extract(): ERAR_BAD_DATA in %s on line %d 38 FAILED 39 40Extraction of file #3: 41 42Warning: RarEntry::extract(): ERAR_BAD_DATA in %s on line %d 43 FAILED 44 45Extraction of file #4: 46 47Warning: RarEntry::extract(): ERAR_BAD_DATA in %s on line %d 48 FAILED 49 50Done 51