Results 1 to 3 of 3
-
8th Nov 2010, 07:47 AM #1OPMember
Rapidleech help! How to unrar file to subfolder?
Anyone know how to unrar a .rar file according to it subfolder? for example, inside aa.rar, there are 3 folder, a, b and c, I want to unrar files with output 3 subfolder, so the same file name wont be ignored in the process of unrar
how to edit the rar.php
Code:<?php class rlRar { var $filename; var $rar_forbidden; var $password; var $rar_opts; var $rar_descriptorspec; var $rar_return; var $rar_error; var $rar_list; var $debug; var $rar_exec; function rlRar($filename, $forbidden_filetypes=array('.xxx')) { return $this->__construct($filename, $forbidden_filetypes); } function __construct($filename, $forbidden_filetypes=array('.xxx')) { $this->debug = false; $this->filename = trim($filename); $this->rar_forbidden = '-x*'.implode($forbidden_filetypes, ' -x*'); if (is_file(ROOT_DIR.'/rar/rar')) { $this->rar_exec = ROOT_DIR.'/rar/rar'; $return = 'rar'; } elseif (is_file(ROOT_DIR.'/rar/unrar')) { $this->rar_exec = ROOT_DIR.'/rar/unrar'; $return = 'unrar'; } else { $return = false; } $this->password = ''; $this->rar_error = ''; $this->rar_list = FALSE; $this->rar_descriptorspec = array( 0 => array("pipe", "r"), // stdin is a pipe that the child will read from 1 => array("pipe", "w"), // stdout is a pipe that the child will write to 2 => array("pipe", "w") // stderr is a pipe to write to ); $this->rar_return = $return; } function fix_pass($password = '') { //$password fix/check $password = ($password == '') ? '' : '-p'.escapeshellarg(stripslashes(($password))).' '; return $password; } function check_numeric_opt(&$val, $max, $min=0) { $tmp = floor(intval($val)); if (!is_float($tmp) || $tmp > $max || $tmp < $min) { return false; } $val = $tmp; return true; } function addtoarchive($rar_opts, $dest_dir, $jsoutid='', $debug_id=0) { $return = ''; $dest_dir = realpath($dest_dir).'/'; $this->check_numeric_opt($rar_opts['comp_lvl'], 5); $this->filename = $dest_dir.basename($this->filename); $rar_part_exists = false; if ($rar_opts['vols']) { $tmp = basename(strtolower($this->filename)); if (substr(strtolower($tmp), -4) == '.rar') { $tmp = substr($tmp, 0, -4); } $tmp .= '.part'; clearstatcache(); $rar_dir = opendir(realpath($dest_dir).'/'); while (false !== ($rar_f_dd = readdir($rar_dir))) { $rar_f_dd = basename(strtolower($rar_f_dd)); if ($tmp == substr($rar_f_dd, 0, strlen($tmp)) && is_numeric(substr($rar_f_dd, strlen($tmp), -4))) { $rar_part_exists = true; break; } } closedir($rar_dir); } if (basename($this->filename) != preg_replace("/[^a-z0-9\\040\\.\\-\\_]/i", '', basename($this->filename))) { $return = 'INVALID_RAR_FILENAME'; } elseif (basename($this->filename) == '' || basename($this->filename) == '.rar') { $return = 'BAD_RAR_FILENAME'; } elseif (!is_dir($dest_dir)) { $return = 'DESTINATION_NOT_EXISTS'; } elseif (file_exists($this->filename)) { $return = 'RAR_EXISTS'; } elseif ($rar_part_exists) { $return = 'RAR_PART_EXISTS'; } elseif ($rar_opts['vols'] && (!$this->check_numeric_opt($rar_opts['vols_s'], 1024, 1) || !$this->check_numeric_opt($rar_opts['vol_sm'], 6))) { $return = 'INVALID_VOLUMES_OPTIONS'; var_export($this->check_numeric_opt($rar_opts['vols_s'], 1024, 1)); } elseif ($rar_opts['rec_rec'] && !$this->check_numeric_opt($rar_opts['rec_rec_s'], 10, 1)) { $return = 'INVALID_RECOVERYR_OPTIONS'; } else { $this->rar_opts = array ( 'comp_lvl' => 0, 'vols' => 0, 'vols_s' => 100, 'vols_sm' => 3, 'delete' => 0, 'solid' => 0, 'rec_rec' => 0, 'rec_rec_s' => 10, 'test' => 0,'use_pass1' => 0, 'pass' => '', 'use_pass2' => 0, 'path_i' => 0, 'path_i_path' => '' ); $this->rar_opts = array_merge($this->rar_opts, $rar_opts); $rar_file_list = ''; foreach($this->rar_opts['filestorar'] as &$rar_value) { $rar_value = basename($GLOBALS['list'][$rar_value]['name']); if (empty($rar_value)) { $return = 'BAD_FILE_NAME'; } elseif (!is_file($dest_dir.$rar_value)) { $return = 'FILE_NOT_EXISTS:'.$rar_value; } else { $rar_file_list .= escapeshellarg($dest_dir.$rar_value).' '; } if ($return !== '') { if ($jsoutid !== '') { return '<script type="text/javascript">'."rar_st('".$jsoutid."', '".preg_replace("/\r?\n/", "\\n", addslashes($return))."')</script>\r\n"; } return $return; } } if ($rar_file_list == '') { $return = 'NO_FILES_TO_ADD'; } else { $rar_cmd = 'a -ierr -ep -o- '; $rar_cmd .= '-m'.$this->rar_opts['comp_lvl'].' '; if ($this->rar_opts['vols']) { $vols_sm = array(0=>'b', 1=>'k', 2=>'K', 3=>'m', 4=>'M', 5=>'g', 6=>'G'); $rar_cmd .= '-v'.$this->rar_opts['vols_s'].$vols_sm[$this->rar_opts['vols_sm']].' '; } if ($this->rar_opts['delete']) { $rar_cmd .= '-df '; } $rar_cmd .= $this->rar_opts['solid'] ? '-s -ds ' : '-s- '; if ($this->rar_opts['rec_rec']) { $rar_cmd .= '-rr'.$this->rar_opts['rec_rec_s'].' '; } if ($this->rar_opts['test']) { $rar_cmd .= '-t '; } if ($this->rar_opts['use_pass1']) { $password = $this->fix_pass($this->rar_opts['pass']); if ($password != '') { $rar_cmd .= $password; if ($this->rar_opts['use_pass2']) { $rar_cmd .= '-hp '; } } } if ($this->rar_opts['path_i']) { $rar_cmd .= '-ap'.escapeshellarg($this->rar_opts['path_i_path']).' '; } $this->runit($rar_cmd, $rar_file_list, $jsoutid, $debug_id); $return = nl2br("UNKNOWN_ERROR\n".$this->rar_return."\n".htmlentities($this->rar_error)); if ($this->rar_return == 0) { if (strtolower(substr(trim($this->rar_error), -4)) == 'done') { $return = 'Done'; } } elseif ($this->rar_return == 255) { $return = "USER BREAK"; } elseif ($this->rar_return == 9) { $return = "CREATE ERROR"; } elseif ($this->rar_return == 8) { $return = "MEMORY ERROR"; } elseif ($this->rar_return == 7) { $return = "USER ERROR"; } elseif ($this->rar_return == 6) { $return = "OPEN ERROR"; } elseif ($this->rar_return == 5) { $return = "WRITE ERROR"; } elseif ($this->rar_return == 4) { $return = "LOCKED ARCHIVE"; } elseif ($this->rar_return == 3) { $return = "CRC ERROR"; } } } if ($jsoutid !== '') { return '<script type="text/javascript">/* <![CDATA[ */'."rar_st('".$jsoutid."', '".preg_replace("/\r?\n/", "\\n", addslashes($return))."')/* ]]> */</script>\r\n"; } return $return; } function listthem($password = '', $dest_dir, $debug_id) { $dest_dir = realpath($dest_dir).'/'; $this->filename = $dest_dir.basename($this->filename); $password = $this->fix_pass($password); $this->runit('v -v -c- '.$password, '', '', $debug_id); $rar_needs_pass = false; if (strpos($this->rar_error, 'Enter password') === 0) { return array( 0 => 'PASS', 'NEEDP' => true); } if (trim($this->rar_error) !== '') { return array( 0 => 'ERROR', 1 => $this->rar_return, 2 => $this->rar_error, 'NEEDP' => false); } $rar_files = array(); $rar_onlist = false; $rar_onfile = true; foreach ($this->rar_list as $rar_line) { if (strpos($rar_line, "---") === 0) { $rar_onlist = !$rar_onlist; continue; } if (!$rar_onlist) { continue; } if ($rar_onfile) { $rar_tmp_name = substr($rar_line, 1); $rar_tmp_pass = substr($rar_line, 0, 1) == '*' ? true : false; } else { $rar_tmp_size = strtok(trim($rar_line), ' '); $rar_tmp = strtok(' '); $rar_tmp = strtok(' '); $rar_tmp = strtok(' '); $rar_tmp = strtok(' '); $rar_tmp = strtok(' '); if (strpos(strtolower($rar_tmp), 'd') === false) { $rar_files[$rar_tmp_name]['size'] = $rar_tmp_size; $rar_needs_pass = $rar_tmp_pass ? true : $rar_needs_pass; } } $rar_onfile = !$rar_onfile; } if ((count($rar_files) == 0)) { return array( 0 => 'ERROR', 1 => $this->rar_return, 2 => $this->rar_error.' (Empty/bad/non RAR file)', 'NEEDP' => false); } return array( 0 => 'LIST', 'NEEDP' => $rar_needs_pass, 2 => $rar_files); } function extract($file=false, $dest, $password='', $jsoutid='', $debug_id=0) { $dest = realpath($dest).'/'; if ($file === false) { $return = 'BAD_FILENAME'; } elseif (dirname(realpath($this->filename)) !== dirname($dest.'safe')) { $return = 'RAR_INCORRECT_LOCATION'; } elseif (!is_file($this->filename)) { $return = 'RAR_NOT_EXISTS'; } elseif (!is_dir($dest)) { $return = 'DESTINATION_NOT_EXISTS'; } elseif (file_exists($dest.basename($file))) { $return = 'FILE_EXISTS'; } else { $password = $this->fix_pass($password); $this->runit('e -ierr -o- -c- '.$password, '"'.$file.'" "'.$dest.'"', $jsoutid, $debug_id); $return = nl2br("UNKNOWN_ERROR\n".$this->rar_return."\n".htmlentities($this->rar_error)); if ($this->rar_return == 0) { if (strtolower(substr(trim($this->rar_error), -6)) == 'all ok') { $return = 'OK'; } } elseif ($this->rar_return == 1) { if (strpos($this->rar_error, 'Enter password') !== false) { $return = 'PASSWORD_NEEDED'; } } elseif ($this->rar_return == 3) { if (strpos($this->rar_error, 'password incorrect ?') !== false) { $return = 'PASSWORD_INCORRECT_?'; } $return = "CRC_ERROR"; } elseif ($this->rar_return == 255) { $return = "USER BREAK"; } elseif ($this->rar_return == 9) { $return = "CREATE ERROR"; } elseif ($this->rar_return == 8) { $return = "MEMORY ERROR"; } elseif ($this->rar_return == 7) { $return = "USER ERROR"; } elseif ($this->rar_return == 6) { $return = "OPEN ERROR"; } elseif ($this->rar_return == 5) { $return = "WRITE ERROR"; } elseif ($this->rar_return == 4) { $return = "LOCKED ARCHIVE"; } } if ($jsoutid !== '') { return '<script type="text/javascript">/* <![CDATA[ */'."rar_st('".$jsoutid."', '".preg_replace("/\r?\n/", "\\n", addslashes($return))."')/* ]]> */</script>\r\n"; } return $return; } function runit($params, $extra = '', $jsoutid = '', $debug_id = '') { $rar_process = proc_open("'".$this->rar_exec."' ".$params.' '.$this->rar_forbidden.' -- '.escapeshellarg($this->filename).' '.$extra, $this->rar_descriptorspec, $rar_pipes); if (is_resource($rar_process)) { fclose($rar_pipes[0]); $this->rar_list = array(); if ($jsoutid == '') {//don't read this pipe if we getting js extract percentage while (!feof($rar_pipes[1])) { $rar_tmp = rtrim(fgets($rar_pipes[1])); if (trim($rar_tmp) !== "") { $this->rar_list[] = $rar_tmp; } } } fclose($rar_pipes[1]); if ($jsoutid !== '') { $this->rar_error = ''; $last = ''; $pos_s = 0; $pos_last = 0; $pos_found_s = ''; while (!feof($rar_pipes[2])) { $this->rar_error .= fgets($rar_pipes[2], 8); $pos_s_ = strpos($this->rar_error, 'Adding', $pos_s+1); if ($pos_s_ === false) { $pos_s_ = strpos($this->rar_error, 'Testing', $pos_s+1); } if ($pos_s_ === false) { $pos_s_ = strpos($this->rar_error, 'Calculating the control sum', $pos_s+1); } if ($pos_s_ === false) { $pos_s_ = strpos($this->rar_error, 'Testing archive', $pos_s+1); } if ($pos_s_ === false) { $pos_s_ = strpos($this->rar_error, 'Creating archive', $pos_s+1); } if ($pos_s_ !== false) { $pos_s = $pos_s_; $pos_found_s = true; } $pos = strrpos($this->rar_error, "%", $pos_last + 1); if ($pos !== false && $pos_last !== $pos) { $pos_last = $pos; $num = trim(substr($this->rar_error, $pos - 3, 3)); if ($num_last !== $num) { $num_last = $num; if ($pos_found_s === true) { $pos_found_s = trim(substr($this->rar_error, $pos_s, strpos($this->rar_error, "%", $pos_s) - $pos_s - 7)); $pos_tmp[0] = strpos($pos_found_s, '...'); if ($pos_tmp[0] !== false) { $pos_tmp[1] = strpos($pos_found_s, 'Creating archive'); if ($pos_tmp[1] === 0) { $pos_found_s = 'Adding '.trim(substr($pos_found_s, $pos_tmp[0] + 3)); } else { $pos_tmp[1] = strpos($pos_found_s, 'Testing archive'); if ($pos_tmp[1] === 0) { $pos_found_s = 'Testing '.trim(substr($pos_found_s, $pos_tmp[0] + 3)); } } } $pos_tmp[0] = strpos($pos_found_s, 'Adding'); if ($pos_tmp[0] === 0) { $pos_found_s = 'Adding '.basename(substr($pos_found_s, 11)); } $pos_tmp[0] = strpos($pos_found_s, 'Testing'); if ($pos_tmp[0] === 0) { $pos_found_s = 'Testing '.basename(substr($pos_found_s, 12)); } $pos_found_s = str_replace(array("\r\n", "\n", "\r"), '' , $pos_found_s); } echo '<script type="text/javascript">'."rar_st('".$jsoutid."', '".addslashes($pos_found_s).' '.$num_last."%')</script>\r\n"; flush(); if ($num_last == 100) { $pos_found_s = ''; } } } } } else { $this->rar_error = ''; while (!feof($rar_pipes[2])) { $this->rar_error .= fread($rar_pipes[2], 8192); } } $this->rar_error = trim($this->rar_error); fclose($rar_pipes[2]); $this->rar_return = proc_close($rar_process); } else { $this->rar_error = 'Error openning rar process'; $this->rar_return = -1; } if ($this->debug || ($this->rar_return != 0 && strpos($this->rar_error, 'Enter password') !== 0) || ($this->rar_list !== FALSE && strpos($this->rar_list[count($this->rar_list)-1], 'is not RAR archive') !== FALSE)) { $rar_es = array( array("rar 3.9.3 for Linux", 364604, "049ba7f001aa28eac1419802bf33946d"), array("unrar 3.9.3 for Linux", 205328, "27cb85226733ee4e022c2ba8cae78577"), array("rar 3.9.3 for Linux x64", 357496, "24be16035099fc2875940a3c467c9248"), array("unrar 3.9.3 for Linux x64", 210448, "4f0afbfedfaa7c8294d4a0a34647788d"), array("rar 3.9.3 for FreeBSD", 345024, "78257fbf1d4543f1453abda5c1726439"), array("unrar 3.9.3 for FreeBSD", 198348, "868cbd181dd6beba0568dc124c9e2063"), array("rar_static 3.9.3 for Linux", 949116, "f0145e1f909dbad9343ccd2ae63eb49d"), array("rar_static 3.9.3 for Linux x64", 1057072, "604b90df99f6b87770e1000ac3274c5a"), array("rar_static 3.9.3 for FreeBSD", 924296, "15a754230ff9bfe5a73814425a1914ca"), array("rar 3.6.0 for Linux", 329212, "4e320c566c326efaa2e138def8b634fc"), array("unrar 3.6.0 for Linux", 192836, "644d426a5cf8f7f3ab874ca3da7f546e"), array("rar 3.6.0 for FreeBSD", 308000, "9c4d110fc55e215fc43b092905386c11"), array("unrar 3.6.0 for FreeBSD", 181472, "a35ed19eccdb79110af5ad652a2d8705"), array("rar_static 3.6.0 for Linux", 850920, "b89de851fd0b371565892b80ecd6ff0b"), array("rar_static 3.6.0 for FreeBSD", 778520, "cb7e6a7a7d746764013d8c45ce6fee5d"), array("rar 3.9.2 for Linux", 364604, "a14b88736ded374e79184b54b5ab5c2b"), array("unrar 3.9.2 for Linux", 205328, "b6bc7303367d8f3cef9a87c88b8776a0"), array("rar 3.9.2 for Linux x64", 357496, "23f11cab54e26cf8244b0dc83aafefbe"), array("unrar 3.9.2 for Linux x64", 210448, "6e2b4a2af3bf75b3ae2e375c0a3f2c2e"), array("rar 3.9.2 for FreeBSD", 345024, "40de74f7011ae4d5f81e22417fe3627b"), array("unrar 3.9.2 for FreeBSD", 198348, "736c979425a5f2232f6f3b33da4a440e"), array("rar_static 3.9.2 for Linux", 949116, "94789a1d2f09b432ff6c0f9f306e2dff"), array("rar_static 3.9.2 for Linux x64", 1057072, "9568bf760ae09de60bfe857d44944a2e"), array("rar_static 3.9.2 for FreeBSD", 924296, "8047ce2582d243c4e2a171731fa3fd8c"), array("rar 3.80 for Linux", 348644, "47885148ae497a937e4810d6d4efeecb"), array("unrar 3.80 for Linux", 200220, "54f48b9fd64a15e11705fa201c58b2d7"), array("rar 3.80 for Linux x64", 339360, "6a2c2081d5efd51794b1035a4f2500cb"), array("unrar 3.80 for Linux x64", 201144, "a3f72afb692ff2a22c4fa9efc72f53b7"), array("rar 3.80 for FreeBSD", 320424, "456cc650570ed9238cbe10944fd4f108"), array("unrar 3.80 for FreeBSD", 184712, "dfdeb22d6a3ec70965f8143d8b877bd5"), array("rar_static 3.80 for Linux", 888380, "4c5e212c0de66a74ff9fbcadba99df32"), array("rar_static 3.80 for Linux x64", 966536, "8b6ae6251bbf0a3f930a918701bb7e59"), array("rar_static 3.80 for FreeBSD", 822516, "3f4673a12c7912c361c1470d9d265ab5"), array("unrar 3.9.1 for Linux", 205328, "15bd278b2b905834bb8fe079532d0498"), array("rar 3.9.1 for Linux", 364580, "07eb62d407d4e6f575354fae0e8e7ea7"), array("rar_static 3.9.1 for Linux", 949084, "5ef45c28023d5f56b353ba1201f90103"), array("unrar 3.9.1 for Linux x64", 210448, "91bb156dab53dee2be10aeb093b1a678"), array("rar 3.9.1 for Linux x64", 357472, "7466ef2effb2724e320c41222d351bfe"), array("rar_static 3.9.1 for Linux x64", 1057072, "934cd9022d61ba155e3e2a8a3624cff0"), array("unrar 3.9.1 for FreeBSD", 197836, "394517ec69dcf7c635d054c349dc036a"), array("rar 3.9.1 for FreeBSD", 344960, "cb8d9d877d54d99672ffab249fea7bae"), array("rar_static 3.9.1 for FreeBSD", 923720, "a674de60c0e262099624c6a1d8201ae9"), array("unrar 3.90 for Linux", 205328, "494f48e37fbdeb5148262db837c7e6bd"), array("rar 3.90 for Linux", 364580, "719ac9dc6add5fcf6e6ce7f102c62a63"), array("rar_static 3.90 for Linux", 949084, "18e46dadef087241774d960f2a95d584"), array("unrar 3.90 for Linux x64", 210448, "a18f3538f7cf5ee105951e4f2fc19eb0"), array("rar 3.90 for Linux x64", 357472, "da0e42db1838d4f65f1cbab75b51241b"), array("rar_static 3.90 for Linux x64", 1057072, "68ceb739c3cc815d54cdb6f8d76cc81c"), array("unrar 3.90 for FreeBSD", 197804, "42569551ec6557b191bb5a6e7f57c4dc"), array("rar 3.90 for FreeBSD", 344960, "c2dc606dade7f1c49d1bc6eda0703bce"), array("rar_static 3.90 for FreeBSD", 923688, "d1463a8ea6673c0d207eb08c1258ea37"), array("unrar 3.7.7 for centos", 170252, "b73d067dcf3ea1d23ea264e9ea9fbada"), ); $rarp = array(filesize($this->rar_exec), md5_file($this->rar_exec)); $tmp = 'Unknown rar executable('.$rarp[0].' bytes md5:'.$rarp[1].')'; foreach($rar_es as $rar_e) { if ($rarp[0] == $rar_e[1] && $rarp[1] == $rar_e[2]) { $tmp = $rar_e[0]; break; } } ?> <div id="rar_debug<?php echo $debug_id; ?>" style="padding:2px;position:absolute; top:<?php echo (intval($debug_id)*24)+2; ?>px; left:10px; background:#082330; border:2px solid #666666; text-align: left;"> <b>Plusrar Debug Window<?php echo (!$this->debug ? '('.lang(340).'), ' : '')?></b> <span onclick="javascript:$('#rar_debug_contents<?php echo $debug_id; ?>').toggle();">(<?php echo lang(341); ?>)</span> <div id="rar_debug_contents<?php echo $debug_id; ?>" style="display: none"> <br /> <textarea cols="100" rows="20" id="rar_debug_text<?php echo $debug_id; ?>"> <?php echo "===plusrar version===\r\n".$GLOBALS['plusrar_v']."\r\n"; echo "===php_uname===\r\n".php_uname("s").' '.php_uname("r").' '.php_uname("v").' '.php_uname("m")."\r\n"; echo "===safe_mode===\r\n".(ini_get('safe_mode') ? 'on' : 'off')."\r\n"; echo "===rar executable info===\r\n".(is_file($this->rar_exec) ? $tmp." with permissions ".substr(sprintf('%o', fileperms($this->rar_exec)), -4) : "rar executable doesn't exists")."\r\n"; echo "===Return code===\r\n".(str_replace(" ", " ", $this->rar_return))."\r\n"; $tmp = (str_replace(array(' ', ' 0% - '), array(' ', ' 0%'), $this->rar_error)); $tmp = preg_replace('/\d{1,2}\%\{4} /', '', $tmp); $tmp = str_replace('', '', $tmp); echo "===Error===\r\n".$tmp."\r\n"; if (is_array($this->rar_list)) { echo "===List output===\r\n"; foreach ($this->rar_list as $line) { echo str_replace(" ", " ", htmlentities($line))."\r\n"; } } echo "===Executed command===\r\n".htmlentities("'".$this->rar_exec."' ".$params.' '.$this->rar_forbidden.' -- '.escapeshellarg($this->filename).' '.$extra); ?></textarea> <br /> <input type="button" value="<?php echo lang(375); ?>" onclick="javascript:document.getElementById('rar_debug_text<?php echo $debug_id; ?>').focus();document.getElementById('rar_debug_text<?php echo $debug_id; ?>').select();" /> <div class="dragzone" style="text-align: center;font-weight: bold"> <br /><?php echo lang(342); ?><br /> </div> </div> </div> <script type="text/javascript"> /* <![CDATA[ */ <?php if (@$GLOBALS['rar_debug_js'] != 1) { $GLOBALS['rar_debug_js'] = 1; ?> var dragObject = null; var mouseOffset = null; makeDraggable = function(item) { if(!item) return false; item.onmousedown = function(ev) { var el = ev.target || ev.srcElement; if (el.className != 'dragzone') { return true; } dragObject = this; mouseOffset = getMouseOffset(this, ev); return false; } return true; }; getMouseOffset = function(t, e) {e=e||window.event;var dP=getPosition(t); var mP=mouseCoords(e); return {x:mP.x-dP.x,y:mP.y-dP.y};}; mouseCoords = function(e) {if(e.pageX||e.pageY){return {x:e.pageX,y:e.pageY};}return {x:e.clientX+document.body.scrollLeft-document.body.clientLeft,y:e.clientY+document.body.scrollTop-document.body.clientTop};}; getPosition = function(e){var l=0; var t=0;while(e.offsetParent){l+=e.offsetLeft;t+= e.offsetTop; e = e.offsetParent; } l += e.offsetLeft; t += e.offsetTop; return {x:l, y:t};}; mouseMove=function(e){e=e||window.event;var mP=mouseCoords(e);if(dragObject){dragObject.style.position='absolute';dragObject.style.top=mP.y-mouseOffset.y+"px";dragObject.style.left=mP.x-mouseOffset.x+"px";return false;}}; mouseUp = function() { dragObject = null; }; document.onmousemove = mouseMove; document.onmouseup = mouseUp; <?php } ?> makeDraggable(document.getElementById('rar_debug<?php echo $debug_id; ?>')); /* ]]> */ </script> <?php } } } ?>
cfs5403 Reviewed by cfs5403 on . Rapidleech help! How to unrar file to subfolder? Anyone know how to unrar a .rar file according to it subfolder? for example, inside aa.rar, there are 3 folder, a, b and c, I want to unrar files with output 3 subfolder, so the same file name wont be ignored in the process of unrar how to edit the rar.php <?php class rlRar { var $filename; var $rar_forbidden; var $password; Rating: 5
-
8th Nov 2010, 09:42 AM #2Member
It's not as easy as you think; RapidLeech can't really work with sub-folders so even if you get your files extracted as sub-folders, they'll be useless unless you modify a lot of other files aswell.
Anyways, if you really want to extract using the full path within the archive, find this inside the extract() function:
PHP Code:$this->runit('e -ierr -o- -c- '.$password, '"'.$file.'" "'.$dest.'"', $jsoutid, $debug_id);
PHP Code:$this->runit('x -ierr -o- -c- '.$password, '"'.$file.'" "'.$dest.'"', $jsoutid, $debug_id);
-
8th Nov 2010, 12:55 PM #3OPMember
Thank it work but is there anyway modifed the rapidleech so the folder are viewable?
Sponsored Links
Thread Information
Users Browsing this Thread
There are currently 1 users browsing this thread. (0 members and 1 guests)
Similar Threads
-
rar unrar in rapidleech
By Gempis in forum Technical Help Desk SupportReplies: 21Last Post: 21st Nov 2011, 07:56 AM -
Config rapidleech rar/unrar >2GB file ?
By chipve in forum Webmaster DiscussionReplies: 6Last Post: 1st Feb 2011, 11:38 AM -
can't unrar on rapidleech
By leonight in forum Technical Help Desk SupportReplies: 12Last Post: 14th Jan 2011, 02:11 PM -
How to unrar in rapidleech..?
By torrfriend in forum Technical Help Desk SupportReplies: 1Last Post: 26th Dec 2010, 08:36 AM -
RapidLeech Unrar
By Raven in forum Technical Help Desk SupportReplies: 15Last Post: 3rd Jul 2010, 02:49 AM
themaLeecher - leech and manage...
Version 5.03 released. Open older version (or...