Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/08/2005, 08:32
jkrumel
 
Fecha de Ingreso: agosto-2005
Mensajes: 1
Antigüedad: 18 años, 8 meses
Puntos: 0
¿Como comprimir una carpeta, subir y luego descromprimirla en otra con php?

Tengo un sistema en php con mysql, lo que quiero hacer es poder buscar una carpeta desde el navegador seleccionarla y que se comprima y la deje en una carpeta dentro del sistem, pero descomprimida. El subir una archivo guardarlo en base datos lo tengo hecho, lo que me falta es tomar la carpeta, comprimirla y descomprimirla en una carpeta que esta predefinida. Todo esto lo hago con un popup.

ESTE ES EL CODIGO QUE SUBE ARCHIVOS SUELTOS:

<html>
<head>
<title>Subir Archivo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="estilos.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#FFFFFF" leftmargin="0" rightmargin="0" topmargin="0" bottommargin="0">
<?php
if ($subirzip != 100)
{
?>
<table width="378" height="96" border="0" cellpadding="4" cellspacing="0">
<tr>
<td width="564" class="celdaTitulo" style="border-Bottom: 1px #FFFFFF solid;">
<?
switch (strtoupper($tipo))
{
case "AUD" : $t = "tipo=aud&campo=$campo&tabla=$tabla&ID=$ID&form=$f orm&campotxt=$campotxt";
echo "Elija un archivo del tipo mp3 o wav.";
$tipodearchivo = "de Audio";
break;
case "IMG" : $t = "tipo=img&campo=$campo&tabla=$tabla&ID=$ID&form=$f orm&campotxt=$campotxt";
echo "Elija un archivo del tipo gif, jpg, jpeg o png.";
$tipodearchivo = "de Imagen";
break;
case "VID" : $t = "tipo=vid&campo=$campo&tabla=$tabla&ID=$ID&form=$f orm&campotxt=$campotxt";
echo "Elija un archivo del tipo SWF, AVI o MPG.";
$tipodearchivo = "de Video";
break;
}
?>
</td>
</tr>
<tr>
<td class="normal">
<form action="subirzip.php?<?php echo "$t" ?>" method="post" enctype="multipart/form-data" name="form21" id="form21">
<center><br><br>
<?
echo "Buscar archivo $tipodearchivo";
?>
<input name="archivo" type="file" class="caja"><br><br>
<input type="hidden" name="subir" value="100">
<input type="submit" name="Submit" value="Subir" class="boton">
</center>
</form>
</td>
</tr>
</table>
<?php }
else
{
switch (strtoupper($tipo))
{
case "AUD" : $updir = "audioszip/";
break;
case "IMG" : $updir = "fotoszip/";
break;
case "VID" : $updir = "videoszip/";
break;
}

$updir .= "_$tabla";

$archivo_name = str_replace(" ", "_", $archivo_name);

$extension = explode(".", $archivo_name);
$num = count($extension)-1;
if(strtoupper($extension[$num]) == "GIF" || strtoupper($extension[$num]) == "JPG" ||
strtoupper($extension[$num]) == "JPEG" || strtoupper($extension[$num]) == "PNG" ||
strtoupper($extension[$num]) == "SWF" || strtoupper($extension[$num]) == "AVI" ||
strtoupper($extension[$num]) == "MPG" || strtoupper($extension[$num]) == "PLS" ||
strtoupper($extension[$num]) == "MP3" || strtoupper($extension[$num]) == "WAV"
)
{
if(!copy($archivo, $updir . "/" . $ID . "_" . $archivo_name))
{
$tit_subida = "Error al subir el archivo...";
$img = "El archivo $archivo_name no subió correctamente, vuelva a intentarlo.<br><a href=\"subir.php?t=$t\">Volver</a>\n";
$ok = false;
}
else
{
$tit_subida = "Archivo subido correctamente...";
if (strtoupper($tipo) != "AUD")
$img = "<img src=\"$updir/" . $ID . "_" . "$archivo_name\" width=\"130\" height=\"130\"><br>" . $ID . "_" . "$archivo_name\n";
else
$img = "$archivo_name\n";
$ok = true;
}
}
else
{
$tit_subida = "Archivo no valido...";
$img = "El tipo de archivo no corresponde, vuelva a intentarlo.<br><a href=\"subir.php?t=$t\">Volver</a>\n";
$ok = false;
}
if ($ok)
{
?>

<table width="378" height="96" border="0" cellpadding="4" cellspacing="0">
<tr>
<td width="564" class="tituloCelda" style="border-Bottom: 1px #FFFFFF solid;">
<?php echo $tit_subida ?>
</td>
</tr>
<tr>
<td class="normal">
<center><br>
<?php echo $img ?>
</center>
</td>
</tr>
</table><br>
<center>
<input type="button" value="Confirmar vinculo" class="boton" onClick="window.opener.<? echo $form ?>.<? echo $campotxt ?>.value='<?php echo $ID . "_" . $archivo_name ?>';window.close();">
<input type="button" value="Cancelar" class="boton" onClick="window.close();">
</center>
<?php
}
}
?>
</body>
</html>