Foros del Web » Programando para Internet » PHP »

programa Sube ficheros vacios via ftp

Estas en el tema de programa Sube ficheros vacios via ftp en el foro de PHP en Foros del Web. 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. ...
  #1 (permalink)  
Antiguo 06/12/2012, 15:12
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 4 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.'/'.$valorFTP_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?
  #2 (permalink)  
Antiguo 06/12/2012, 15:38
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: programa Sube ficheros vacios via ftp

Has probado de crear un fichero con permisos manualmente y volcar ai ficheros? podrías probar... comenta la parte que crea los directorios y haz esa prueba.

Puede ser por tema de permisos.

http://php.net/manual/es/function.chmod.php

Otra opción es dar permisos a esos directorios que se crean directamente con chmod, pero primero prueba lo otro,

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #3 (permalink)  
Antiguo 06/12/2012, 15:45
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: programa Sube ficheros vacios via ftp

al revisar los permisos en el servidor ftp salen el nombre de los archivos que tiene permisos de lectura y escritura y ademas estan vacios.

esto

-rw-r--r-- 1 latitudt latitudt 0 Dec 6 14:34 class.smtp.php
-rw-r--r-- 1 latitudt latitudt 0 Dec 6 14:35 mailphp.php
drwxr-xr-x 2 latitudt latitudt 4096 Dec 6 14:35 nuevo


quisas tienes razon, puede ser un tema de permisos o quisas solo creo los archivos pero sin contenido....seguire probando.

Gracias
  #4 (permalink)  
Antiguo 06/12/2012, 16:38
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: programa Sube ficheros vacios via ftp

Puede ser que no te deje escribir dentro del fichero...

Puedes probar de subir tu un fichero con FileZilla o similar, por ejemplo un txt, y hacer un simple script para meter una cadena de texto a ver si es posible?

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #5 (permalink)  
Antiguo 06/12/2012, 16:44
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: programa Sube ficheros vacios via ftp

reduci el codigo.


Código PHP:
Ver original
  1. # Realizamos la conexión    pasando como parametros el host y el puerto de acceso
  2. $ftpID = ftp_connect('myshost');
  3.  
  4. # Si la conexión es segura, necesitaremos facilitar el usuario y la contraseña
  5. ftp_login($ftpID, 'usser@myhost','pass');
  6.  
  7. # Definimos los directorios desde los que moveremos los datos
  8. $path_remoto = '/';
  9. $path_local = '/var/www/html/nuevo/';
  10.  
  11. # Creamos un directorio con la fecha actual
  12. ftp_mkdir($ftpID, $path_remoto."/".date("Ymd"));
  13. chmod($ftpID, $path_remoto."/".date("Ymd"),0777);
  14. #Subimos el fichero prueba.php
  15. ftp_put($ftpID, $path_remoto."/".date("Ymd").'/prueba1.php', $path_local.'/prueba.php', FTP_ASCII);
  16. chmod($ftpID, $path_remoto."/".date("Ymd").'/prueba1.php',0777);

pero lo mesmo.....seguire averiguando!

Graciasa
  #6 (permalink)  
Antiguo 06/12/2012, 16:48
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: programa Sube ficheros vacios via ftp

Prueba de hacerlo en modo binario:

Código PHP:
ftp_put($conn_id$file_name$file_locationFTP_BINARY); 
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #7 (permalink)  
Antiguo 07/12/2012, 06:57
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: programa Sube ficheros vacios via ftp

miktrv. gracias por responder.


Pero probe y no paso nada, seguire intentando, esto no debe ser imposible.


=)
  #8 (permalink)  
Antiguo 07/12/2012, 07:01
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: programa Sube ficheros vacios via ftp

De nada! :D

Te dejo un hilo que alomejor te sirve:

http://forums.phpfreaks.com/topic/10...ng-empty-file/

Saludos!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #9 (permalink)  
Antiguo 07/12/2012, 08:13
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: programa Sube ficheros vacios via ftp

Mira reduci el codigo, y con esto logre subir un archivo correctamente...creo un directorioo y luego con put subo un archivo.....ahora tendre que ver como subo mas de uno.....


Código PHP:
$ftpID ftp_connect('myhost.com');

ftp_login($ftpID'[email protected]','pass');


$path_remoto '/';
$path_local '/var/www/html';

# Creamos un directorio con la fecha actual
ftp_mkdir($ftpID$path_remoto."/".date("Ymd"));

ftp_put($ftpID$path_remoto."/".date("Ymd").'/prueba1.php'$path_local.'/prueba.php',FTP_ASCII); 

=) vamos que se puede
  #10 (permalink)  
Antiguo 07/12/2012, 12:14
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: programa Sube ficheros vacios via ftp

Creo que solucione este entuerto mediante NCFTP.


Gracias !!!!

Etiquetas: ficheros, ftp, programa, sube, vacios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:52.