Hola gente como estan?...
Tengo un problema... tengo hecho un script en php que me hace copias de seguridad de la web de mi cliente.
estaba usando php4 y una clase llamada ZipArchive.php que incluia al .php del backup.
migraron mi servidor a php5 y no funcionaba mas... entonces empeze a usar zip de php para comprimir los archivos.
lo que hace el script es recorrer todos los direcctorios del host y ir agregando los archivos al zip.
aca esta el script
Código PHP:
function listar_directorios_ruta($ruta){
global $zip;
echo '<div> </div>';
echo '<div>Directorio: '.$ruta.'</div>';
if ($directorio = opendir($ruta)) {
while ($archivo = readdir($directorio)) {
if(!is_dir($ruta.$archivo)){
$zip->addFile($ruta."/".$archivo, substr($ruta,3).$archivo);
if($zip==true){
echo '<div>comprimio: '.$ruta.$archivo.'</div>';
}else{
echo '<div>error: '.$ruta.$archivo.'</div>';
}
}
}
closedir($directorio);
}
// abrir un directorio y listarlo recursivo
if (is_dir($ruta)) {
if ($directorio = opendir($ruta)) {
{ while ($archivo = readdir($directorio)){
if (is_dir($ruta.$archivo) and $archivo!="." and $archivo!=".." and $archivo!="backup"){
//solo si el archivo es un directorio, distinto que "." y ".." y "backup"
//echo '<div>Directorio2: '.$ruta.$archivo.'</div>';
listar_directorios_ruta($ruta.$archivo."/");
}
}
closedir($directorio);
}
}else{
echo '<div class="Estilo4">'.$ruta.' no es ruta valida</div>';
}
}
$fecha = date("d-m-Y");
$hora = date("h-m-s A");
$pathSave = 'backup_'.$fecha.'_'.$hora.'.zip';
$zip = new ZipArchive;
$res = $zip->open($pathSave, ZIPARCHIVE::CREATE);
echo '<div class="Estilo2">Creando archivo zip...</div>';
if ($res === TRUE) {
echo '<div class="Estilo2">Archivo zip creado</div>';
$ruta = "../";
listar_directorios_ruta($ruta);
$zip->close();
unset($zip);
echo ' <div><a href="'.$pathSave.'">Descargar Backup</a></div>';
}else{
echo ' <div>Error al crear el archivo zip</div>';
}
este archivo .php esta en esta ubicacion www.midominio.com.ar/panel/ de manera que el $ruta baja un direcctorio para comprimir todo el host.
pero nose porque causa... aunque parece que comprime todos los archivos (no estoy seguro) no crea el .zip en el servidor.
Alguien me podria ayudar?