Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/08/2007, 11:33
xayide
 
Fecha de Ingreso: febrero-2006
Mensajes: 174
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: problemas para subir mediante FTP

Haber, pongo el código de la función que sube.

Código PHP:
function subirImagenFTP($nombre_local,$nombre_nuevo,$mini_local,$mini_nuevo){
    
// Primero creamos un ID de conexión a nuestro servidor
    
$cid ftp_connect("ftp.midominio.com");
    
// Luego creamos un login al mismo con nuestro usuario y contraseña
    
$usuario="miusuario";
    
$password="micontraseña";
    
$resultado ftp_login($cid$usuario,$password);//echo "hecho el login";
    // Comprobamos que se creo el Id de conexión y se pudo hacer el login
    
if ((!$cid) || (!$resultado)) {
        
//$salida= "<br> La conexión no se ha podido realizar. Puede deberse a que no está conectado a internet o el servidor al que             pretende conectarse no se encuentra operativo </br>";    
        
die("La conexión no se ha podido realizar. Puede deberse a que no está conectado a internet o el servidor al que             pretende conectarse no se encuentra operativo");
    } else {
        
$salida="<br> Conectado </br>";
        
//echo $salida;
    
}
    
// 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) ;
    
// 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.
    
ftp_chdir($cid"httpdocs/fotos");
    
$salida="<br> Cambiado al directorio necesario </br>"
    
//echo $salida;  
        
echo "nombre nuevo:".$nombre_nuevo;
        echo 
"nombre local:".$nombre_local;
    
$subido1ftp_put($cid,$nombre_nuevo,$nombre_local,FTP_BINARY);//echo "subido1";
    
$subido2ftp_put($cid,$mini_nuevo,$mini_local,FTP_BINARY);//echo "subido2";
    //echo ftp_pwd($cid);
    
if((!$subido1) || (!$subido2)){
        
$salida"<br> No se ha podido subir el archivo </br>"
    }
    else{
        
$salidatrue
    }
    
//cerramos la conexión FTP
    
ftp_close($cid);
    
//unset($_FILES["archivo"]); //Destruye la variable "archivo"
    
return $salida;
}

function 
comprobarImagen($nombre_local,$nombre_nuevo,$mini_local,$mini_nuevo){

    
$form1false;
    
$siz1false;
    
$arch1false;
    
$form2false;
    
$siz2false;
    
$arch2false;
    
    
$arch1$this->nombre_vacio($nombre_local);
    
$arch2$this->nombre_vacio($mini_local);
    
$nombre_nuevo$this->nombre_formato($nombre_local,$nombre_nuevo);
    if(
$nombre_nuevo!=false){
        
$form1true;
    }
    else{
        
$form1false;
    }
    
$mini_nuevo$this->nombre_formato($mini_local,$mini_nuevo);
    if(
$mini_nuevo!=false){
        
$form2true;
    }
    else{
        
$form2false;
    }
    
$siz1$this->archivo_tam($nombre_local);
    
$siz2$this->archivo_tam($mini_local);
    
    if((
$siz1)&&($form1)&&($arch1)&&($siz2)&&($form2)&&($arch2)){
            
//echo  "voy a subir la imagen";
        
$res=$this->subirImagenFTP($nombre_local,$nombre_nuevo,$mini_local,$mini_nuevo); //res es texto o true
        
$salida$res;//echo "imagen subida";
    
}
    else{
        
$salida"<br>No se han subido. Solucione los errores</br>";
        
$salida="Recuerde que el nombre no debe ser vacio. El formato debe ser jpg, gif o jpeg. El peso debe ser menor a 100KB.";
    }
    return 
$salida;
}

function 
nombre_vacio($nombre){
    if(empty(
$nombre)){
        
$archfalse;
    }
    else{
        
$archtrue;        
    }
    return 
arch;
}

function 
nombre_formato($nombre$nombre_nuevo){
    
$formato1=substr($nombre,-3,3);
    
$formato2=substr($nombre,-4,4);
    
    if((
strcasecmp($formato1,"jpg")==0)||(strcasecmp($formato1,"gif")==0)){
        
$salida.="<br> El formato del archivo es valido </br>";
        
$nombre_nuevo.= "." $formato1;
    }
    else if (
strcasecmp($formato2,"jpeg")==0){
        
$salida.="<br> El formato del archivo es valido </br>";
        
$nombre_nuevo.= "." $formato2;
    }
    else{
        
$salida.= "<br> El formato del archivo no es v&aacute;lido. El formato debe de ser: jpg, gif, jpeg </br>";
        
$nombre_nuevofalse;
    }
    
    return 
$nombre_nuevo;
}

function 
archivo_tam($nombre_local){
    if(
filesize($nombre_local)<100000){
        
$siztrue;        
    }
    else{
        
$sizfalse;    
    }
    return 
$siz;
}

function 
archivo_tipo($f){
    if(
filetype($f)=="file"){
        return 
true;
    }
    else{
        return 
false;
    }

gracias!!