2011-09-06 29 views
5

Estoy tratando de descomprimir un archivo tar en un directorio, pero no tengo idea de cómo. Puedo extraerlo en el mismo directorio que el archivo tar, pero no en otra carpeta.Descomprime el archivo tar en el directorio

$filename = "homedir.tar"; 
exec("tar xvf $filename"); 

intentado el siguiente, pero no funciona (no se está extrayendo):

exec("tar -C, homedir zxvf $filename"); 

Actualización:

Este es el contenido de mi archivo:

# Absolute paths 
$filepath = "/home/acc/public_html/test/test/homedir.tar"; 
$folderpath = "/home/acc/public_html/test/test/homedir"; 

# Check if folder exist 
if(!is_dir($folderpath)) { 
    die('Folder does not exist'); 
} 

# Check if folder is writable 
if(!is_writable($folderpath)) { 
    die('Folder is not writable'); 
} 

# Check if file exist 
if(!file_exists($filepath)) { 
    die('File does not exist'); 
} 

exec("tar -C $folderpath -zxvf $filepath"); 

No hay errores, pero tampoco se descomprime nada.

+0

¿Está instalado el alquitrán de pera en su servidor web? – Mythli

+0

intente pasar una matriz vacía como segundo param y luego inspeccionar el contenido de esa matriz. Le mostrará todo el resultado que puede darle una pista sobre lo que está pasando mal. ver: http://us3.php.net/manual/en/function.exec.php – gregghz

+0

Lo intenté, devolver vacío $ status = array(); exec ("ruta de carpeta tar-$ -zxvf $ ruta de archivo", $ estado); print_r ($ estado); –

Respuesta

3

Retire la coma de la -C y añadir el tablero antes de zxvf:

exec("tar -C $outdir -zxvf $infile"); 

O puede poner la parte -C en el extremo y que no es necesario el tablero antes de zxvf:

exec("tar zxvf $infile -C $outdir"); 

Y probablemente debería asegurarse de que sus rutas sean absolutas, solo para estar seguro.

+0

Obteniendo esto en mi error_log: [06-sep-2011 14:39:11] Advertencia de PHP: Módulo 'json' ya cargado en Desconocido en la línea 0 –

Cuestiones relacionadas