Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/12/2012, 15:12
rpichinu
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 15 años, 10 meses
Puntos: 3
programa Sube ficheros vacios via ftp

Que tal:

Encontre el siguiente script que sube directorios via FTP, pero resulta que me sube bien los directorios pero los ficheros se encuentran vacios.


codigo:

Código PHP:
function leerCarpeta($path)
        {
        
$dh = opendir($path);
        
$vCarpeta = array();
        
$i=1;
        while ((
$fichero = readdir($dh)) !== false)
            {
            
            if(!(
preg_match('/^.{1,2}$/',$fichero)||preg_match('/^.svn[a-z,0-9]*$/',$fichero)))
                {
                if(
is_dir($path.'/'.$fichero))
                    {
                    
$vCarpeta[$fichero] = leerCarpeta($path.'/'.$fichero);
                    
                    }
                else
                    {
                    
$vCarpeta[] = $fichero;
                    echo 
"leyendo fichero...".$i."vez...";
                    }
                
$i++;    
                
                }
            }
        return 
$vCarpeta;
        }    

    
# Función recursiva que sube todos los ficheros de un directorio y crea los directorios del mismo.
     
function subirCarpeta($vCarpeta, $path_remoto, $path_local, $ftpID)
        {
        
        foreach(
$vCarpeta as $campo=>$valor)
            {
            if(
is_array ($valor))//si valor esta en arreglo significa que es un directorio
                
{
                
// Creamos un directorio
                
ftp_mkdir($ftpID, $path_remoto.'/'.$campo,0777);
                
subirCarpeta($valor, $path_remoto.'/'.$campo, $path_local.'/'.$campo, $ftpID);
                }
            else
                {
                
// Subimos el fichero
                
echo "subiendo ..............";
                
ftp_put($ftpID, $path_remoto.'/'.$valor, $path_local.'/'.$valor, FTP_ASCII);
                }
        
            }
        }


    
$ftpID = ftp_connect('myhost.com');
    
ftp_login($ftpID,'user@myhost','pass');

    
$path_local = "/home/prueba";
    
$path_remoto = '/prueba/';

    
ftp_mkdir($ftpID, $path_remoto);

    
$vCarpetas = leerCarpeta($path_local);
    
subirCarpeta($vCarpetas, $path_remoto, $path_local, $ftpID);
    
ftp_close($ftpID); 

a que se debera esto?