<html>
<head>
<style>
body {
background-color: #ffffff;
font-family: sans-serif;
color: #000;
}
div.cabecera {
position: relative;
background-color: #ffaa44;
color:#44aaff;
text-align:left;
font-weight: bold;
font-size: 50px;
left: 0px;
top: 0px;
padding: 4px 0px 4px 0px;
margin-bottom: 4px;
}
div.titulo {
position: relative;
background-color: #ffaa44;
color: #000;
font-weight: bold;
padding: 4px 2em 4px 2em;
}
div.texto{
position: relative;
padding: 2em 2em 2em 2em;
}
a {
text-decoration: none;
color: #999999;
background-color: #ffffff;
font-weight: normal;
}
div.cabecera a {
text-decoration: none;
font-size: medium;
color: #999999;
background-color: #ffaa44;
font-weight: normal;
}
div.langs{
background-color: #ffaa44;
width: 100%;
text-align: right;
font-size: 12pt;
color: #000;
}
div.langs a{
text-decoration: none;
color: #999999;
background-color: #ffaa44;
font-weight: small;
font-size: 12pt;
}
div.pie {
text-decoration: none;
font-size: normal;
color: #345678;
background-color: #ffaa44;
font-weight: bold;
width: 100%;
text-align: center;
}
</style>
</head>
<body>
<div class="cabecera">
<div class="langs"><b>gl</b> | <a href="doces.html">es</a> | <a href="docen.html">en</a></div>
<table><tr><td><big><big><b>Rar for PHP </b></big></big></td><td>
<a href="#intro">Introducción</a> |
<a href="#install">Instalación</a> |
<a href="#config">Configuración</a> |
<a href="#fconf">Funcións de configuración</a> |
<a href="#fcomp">Funcións de compresión</a> |
<a href="#ej">Exemplos</a></td></tr></table>
</div>
<div class="contenido">
<a name="intro"></a>
<div class="titulo">Introducción:</div>
<div class="texto">
<b>Rar for PHP</b> é un sinxelo script que permite comprimir ficheiros e carpetas en formato <i>RAR</i>.<br/>
RarLabs, propietaria do algoritmo de compresión <i>RAR</i> non permite que outros programas, agás os seus, poidan comprimir ficheiros no formato <i>RAR</i>.
<b>Rar for PHP</b>, cumprindo coa licencia, non implementa o algoritmo de compresión <i>RAR</i>.<br/>
<b>Rar for PHP</b> é unha interfaz para o programa <i>rar.exe</i>, do cal é propietario RarLabs. Para poder comprimir ficheiros
<i>RAR</i> deberedes ter este programa, o cal atópase na carpeta de instalación de WinRAR.
<br/>Non probei este algoritmo en Linux, pero se os parámetros da interfaz de liña de comandos de linux os mesmos que en Windows, debería funcionar sen problemas.
</div>
<a name="install"></a>
<div class="titulo">Instalación:</div>
<div class="texto">
Para instalar <b>Rar for PHP</b> so fai falla copiar o ficheiro <i>rar.php</i>
o teu directorio de execución de scripts php. Despois deberedes edita-lo para poñe-los valores por defecto que dexesedes.
</div>
<a name="config"></a>
<div class="titulo">Configuración:</div>
<div class="texto">
As opcións de configuración de <b>Rar for PHP</b> son as seguintes:
<ul>
<li><b>$rar:</b> Debedes indicar aqui a ubicación do ficheiro executable de rar (rar.exe).</li>
<li><b>$rarpasswords:</b> Se queres gardar as contrasinais dos ficheiros que comprimas
deberás indicar nesta variable a ruta o arquivo en que queres que se almacenen. Deixao en branco para que non garde ningunha contrasinal.
<li><b>$defaultCompression:</b> Debes indicar o nivel de compresión que tomará por defecto:
<ul>
<li>"NiNGUNO" - Sin compresion </li>
<li>"BAJO" - Compresión baixa </li>
<li>"MEDiO" - Compresión media </li>
<li>"NORMAL" - Compresión normal </li>
<li>"ALTO" - Compresión alta </li>
<li>"MAXiMO" - Compresión máxima </li>
</ul>
Ten en conta que a más compresión más teempo tardará en comprimir.
</li>
<li><b>$mkSolid:</b> Se pos este valor a <i>true</i> crearase un ficheiro sólido. Esto é útil se tes que
comprimir moitos ficheiros pequenos nun só paquete, debido a o ficheiro de saida será mais pequeno.</li>
<li><b>$limitetiempo:</b> indica o tempo máximo que se executará o script</li>
</ul>
</div>
<a name="fconf"></a>
<div class="titulo">Funcións de configuración:</div>
<div class="texto">
Con estas funcións podes modificar a configuración para cada ficheiro que crees:
<ul>
<li><b>setPassword(txtContraseña):</b> Se queres una que un determinado ficheiro teña unha contrasinal podes chamar
a esta función antes de comprimir nada. Podes pasarlle como parámetro a contrasinal que desexes. Se
a chamas sen parámetros, xeneraráse automáticamente una contrasinal de entre 8 y 32 caracteres.</li>
<li><b>compression(txtNivelCompres, boolSolido): </b> Podes axustar o nivel de compresión do ficheiro que
queres comprimir por medio desta función. O primeiro parámetro será o nivel de compresión desexado (ver Configuracion)
e o segundo parámetro indicará se queres un ficheiro sólido ou non ("true" ou "false").</li>
<li><b>getPassword():</b> Retorna a contrasinal actual usada para comprimir o ficheiro.</li>
<li><b>setRecovery(intRatio):</b> Engade datos de recuperación ó paquete. O parámetro <i>intRatio</i> é un valor enteiro que
representa o tanto por cento de datos de recuperación que se engadirán (1-10).</li>
</ul>
</div>
<a name="fcomp"></a>
<div class="titulo">Funcións de compresión:</div>
<div class="texto">
Estas funcións son as que se chaman para comprimir ficheiros ou carpetas:
<ul>
<li><b>addfile(txtArchivo):</b> Engado o paquete o arquivo indicado polo parámetro <i>txtArchivo</i></li>
<li><b>addfolder(txtCarpeta, boolRecursivo): </b> Engade o paquete a carpeta indicada polo parámetro <i>txtCarpeta</i>.
Por defecto comprime todolos ficheiros e carpetas que contén <i>txtCarpeta</i>. Se non se quere que a compresión sexa recursiva
deberáse indicar no parámetro <i>boolRecursivo</i> "false". Para o contrario, indicar "true" ou omitir el parámetro.</li>
<li><b>addList(arrayLista): </b> Engade unha lista de ficheiros e carpetas dadas no parámetro <i>arrayLista</i>.
Este parámetro pode ser un vector coa lista de ficheiros o una cadea de caracteres separada por ";"</li>
</ul>
</div>
<a name="ej"></a>
<div class="titulo">Exemplos:</div>
<div class="texto">
<ul>
<li><b>Básico:</b>Este exemplo comprimirá como <i>"c:/archivo.rar"</i> o ficheiro <i>"c:/comprimir.txt"</i> coas opcións por defecto.<br/>
<br/>
<i>
require_once('rar.php');<br/>
$rar=new phpRar("c:/archivo.rar");<br/>
$rar->addfile("c:/comprimir.txt");<br/>
</i><br/>
</li>
<li><b>Con contrasinal:</b> Comprimirase a carpeta <i>"c:/carpeta"</i> como <i>"c:/archivo.rar"</i> coa contrasinal <i>12345</i>.<br/>
<br/>
<i>
require_once('rar.php');<br/>
$rar=new phpRar("c:/archivo.rar");<br/>
$rar->setPassword("12345");<br/>
$rar->addfolder("c:/carpeta");<br/>
</i><br/>
</li>
<li><b>Complexo:</b> Comprimirase a carpeta <i>"c:/carpeta"</i> e o arquivo <i>"c:/comprimir.txt"</i> no paquete <i>"c:/archivo.rar"</i> con contrasinal aleatoria e logo mostrarase no explorador.
Crearase un arquivo rar sólico cun nivel de compresión <i>Normal</i> <br/>
<br/>
<i>
require_once('rar.php');<br/>
$rar=new rar("c:/archivo.rar");<br/>
$rar->setPassword();<br/>
$rar->compression("NORMAL",true);<br/>
$rar->setRecovery(2);<br/>
$rar->addList("c:\carpeta1; c:\carpeta2; c:\carpeta3\*.exe");<br/>
$rar->addfile("c:/comprimir.txt");<br/>
$rar->addfolder("c:/carpeta");<br/>
echo $rar->getPassword();
</i><br/><br/>
NOTA: Se este script fora un sistema de copia de seguridade sinxelo, a contrasinal en vez de mostrarse podríase enviar ó administrador mediante mensaxe electrónico.
</li>
</ul>
</div>
</div>
<div class="pie">José Manuel Busto</div
</body>