Ver Mensaje Individual
  #18 (permalink)  
Antiguo 10/07/2006, 11:54
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por broly
Si me referia al uso de ftp, por medio php, como este codigo menciona, ahi lo que se toma son las restricciones del php supongo, (no puse el link directo porque no me dejo)

Código PHP:
<?php
    
// Primero creamos un ID de conexión a nuestro servidor
    
$cid ftp_connect("direccion");
    
// Luego creamos un login al mismo con nuestro usuario y contraseña
    
$resultado ftp_login($cid"usuario","clave");
    
// Comprobamos que se creo el Id de conexión y se pudo hacer el login
    
if ((!$cid) || (!$resultado)) {
        echo 
"Fallo en la conexión"; die;
    } else {
        echo 
"Conectado.";
    }
    
// Cambiamos a modo pasivo, esto es importante porque, de esta manera le decimos al 
    //servidor que seremos nosotros quienes comenzaremos la transmisión de datos.
    
ftp_pasv ($cidtrue) ;
    echo 
"<br> Cambio a modo pasivo<br />";
    
// Nos cambiamos al directorio, donde queremos subir los archivos, si se van a subir a la raíz
    // esta por demás decir que este paso no es necesario. En mi caso uso un directorio llamado boca
    
ftp_chdir($cid"boca");
    echo 
"Cambiado al directorio necesario";   
    
// Tomamos el nombre del archivo a transmitir, pero en lugar de usar $_POST, usamos $_FILES que le indica a PHP
    // Que estamos transmitiendo un archivo, esto es en realidad un matriz, el segundo argumento de la matriz, indica
    // el nombre del archivo
    
$local $_FILES["archivo"]["name"];
    
// Este es el nombre temporal del archivo mientras dura la transmisión
    
$remoto $_FILES["archivo"]["tmp_name"];
    
// El tamaño del archivo
    
$tama $_FILES["archivo"]["size"];
    echo 
"<br />$local<br />";
    echo 
"$remoto<br />";
    echo 
"subiendo el archivo...<br />";
    
// Juntamos la ruta del servidor con el nombre real del archivo
    
$ruta "/srv/www/htdocs/boca/" $local;
    
// Verificamos si no hemos excedido el tamaño del archivo
    
if (!$tama<=$_POST["MAX_FILE_SIZE"]){
        echo 
"Excede el tamaño del archivo...<br />";
    } else {
        
// Verificamos si ya se subio el archivo temporal
        
if (is_uploaded_file($remoto)){
            
// copiamos el archivo temporal, del directorio de temporales de nuestro servidor a la ruta que creamos
            
copy($remoto$ruta);        
        }
        
// Sino se pudo subir el temporal
        
else {
            echo 
"no se pudo subir el archivo " $local;
        }
    }
    echo 
"Ruta: " $ruta;
    
//cerramos la conexión FTP
    
ftp_close($cid);
?>
Si, las restricciones serán las de PHP a todo nivel. De todas formas pruebalo y nos comentas.

Ahora .. no entiendo muy bien el código que presentas .. entre otras cosas por qué se vé que se conecta a un servidor FTP X (hace su login .. y se posiciona en tal directorio ...) pero no "subes" el archivo por FTP (ftp_fput()) sino que hace un "copy()" ... cuando por esa técnica lo que correspondería es un "move_uploaded_file()".

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.