Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/06/2008, 22:36
alexisr
 
Fecha de Ingreso: mayo-2008
Mensajes: 4
Antigüedad: 16 años
Puntos: 0
Problema con funcion copy

Buenasssss tengo un problemon grande con la funcion copy :( encontre un script que copia todo el contenido de un directorio a otro, funciona de maravilla pero el problema es que los archivos se compian con un propietario/grupo desconocido y luego no los puedo editar/eliminar/ver desde el ftp, la verdad ya no se más que hacer, etuve leyendo las funciones chown chmod, etc pero no logro solucionar nada en fin aca esta el script haber si me pueden orientar un poco

Código PHP:
<?php

  
// copy a directory and all subdirectories and files (recursive)
  // void dircpy( str 'source directory', str 'destination directory' [, bool 'overwrite existing files'] )
$source "carpeta1";
$dest "carpeta2";  

function 
dircpy($basePath$source$dest$overwrite false){
    if(!
is_dir($basePath $dest)) //Lets just make sure our new folder is already created. Alright so its not efficient to check each time... bite me
    
mkdir($basePath $dest);
    if(
$handle opendir($basePath $source)){        // if the folder exploration is sucsessful, continue
        
while(false !== ($file readdir($handle))){ // as long as storing the next file to $file is successful, continue
            
if($file != '.' && $file != '..'){
                
$path $source '/' $file;
                if(
is_file($basePath $path)){
                    if(!
is_file($basePath $dest '/' $file) || $overwrite)
                    if(!@
copy($basePath $path$basePath $dest '/' $file)){
                        echo 
'<font color="red">File ('.$path.') could not be copied, likely a permissions problem.</font>';
                    }
                } elseif(
is_dir($basePath $path)){
                    if(!
is_dir($basePath $dest '/' $file))
                    
mkdir($basePath $dest '/' $file); // make subdirectory before subdirectory is copied
                    
dircpy($basePath$path$dest '/' $file$overwrite); //recurse!
                
}
            }
        }
        
closedir($handle);
    }
}

?>