Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Formulario subida de archivos a FTP

Estas en el tema de Formulario subida de archivos a FTP en el foro de PHP en Foros del Web. Buenas, estoy realizando un formulario para subida de archivos y sale todo correctamente pero solo si pongo un usuario y contraseña predeterminado. Queria saber como ...
  #1 (permalink)  
Antiguo 04/04/2011, 07:55
 
Fecha de Ingreso: abril-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Formulario subida de archivos a FTP

Buenas, estoy realizando un formulario para subida de archivos y sale todo correctamente pero solo si pongo un usuario y contraseña predeterminado. Queria saber como introducir el usuario y la contraseña en el formulario y al dar al boton de enviar fichero me pusiera ese usuario y contraseña en el php y realizara la subida. He probado de todo y no consigo encontrar la solucion...Pongo el codigo. Muchas gracias.

FORMULARIO
Código HTML:
<form id="form1" name="form1" method="post" action="recibe.php">
  User<span id="sprytextfield1">
  <label for="usuario"></label>
  <input type="text" name="usuario" id="usuario" />
  <span class="textfieldRequiredMsg">Se necesita un valor.</span></span>Password
<label for="textfield"></label>
<span id="sprypassword1">
<label for="contraseña"></label>
<input type="password" name="contraseña" id="contraseña" />
<span class="passwordRequiredMsg">Se necesita un valor.</span></span>
</form>
<p>&nbsp;</p>

<FORM ENCTYPE="multipart/form-data" ACTION="recibe.php" METHOD="POST">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="99999999999999999999">
Envía este fichero: <INPUT NAME="fichero_usuario" TYPE="file"><INPUT TYPE="submit" VALUE="Envía Fichero"> </FORM> 
RECIBE.php

Código PHP:
<?php
$FTP_User 
"userftp";  //  nombre de usuario
$FTP_Pass "****"// nombre de clave de usuario
$FTP_Host "0.0.0.0"// Nombre de tu dominio
$FTP_Root ""// Carpeta a la que se subirá los archivos
    
$Connect = @ftp_connect($FTP_Host); 
    
ftp_login($Connect$FTP_User$FTP_Pass); 
    
ftp_pasv($Connect,true); //Establece el modo de conexión pasivo
    
$nombre_archivo $FTP_Root $_FILES['fichero_usuario']['name']; 
    
$Local_Resource $_FILES['fichero_usuario']['tmp_name']; 
 if (
ftp_put($Connect$nombre_archivo$Local_ResourceFTP_BINARY)) { 
        echo 
"Archivo subido al servidor correctamente: $nombre_archivo"
    } 
    else 
    { 
        echo 
"Se ha detectado un error al subir el archivo: $nombre_archivo"
    }
    
ftp_quit($Connect);  //Cierrra la conexion ftp
 
?>
  #2 (permalink)  
Antiguo 04/04/2011, 07:58
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 10 meses
Puntos: 394
Respuesta: Formulario subida de archivos a FTP

Pues regoje los datos de user y pass con el $_POST y colocalos en las variables de conexion asi :

$FTP_Use = $_POST['usuario'];
$FTP_Pass = $_POST['contraseña'];
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 04/04/2011, 08:10
 
Fecha de Ingreso: abril-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Formulario subida de archivos a FTP

Lo he estado probando y no me funciona, el formulario seguiria siendo asi, o valdría uno para todo? Y al dar a enviar me lo tiene que colocar automaticamente en la variable de usuario y contraseña? Se que no esta muy lejos la solucion pero estoy un poco perdido en este lenguaje. gracias por la rapida respuesta.
  #4 (permalink)  
Antiguo 04/04/2011, 08:21
 
Fecha de Ingreso: abril-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Formulario subida de archivos a FTP

Vale ahora si me funciona, no me funcionaba con el nombre de la etiqueta 'contraseña' lo cambie por 'contrase' y me funcionó, nose si sera una palabra reservada o por la 'ñ' pero fue cambiarlo y funcionar. Bueno pongo como me ha quedado por si alguien lo necesita. Muchas gracias por la ayuda y por la rapida respuesta. Un saludo.

Formulario

Código HTML:
<FORM ENCTYPE="multipart/form-data" ACTION="recibe.php" METHOD="POST">
  <p>User 
  <input type="text" name="usuario" id="usuario" />
Password
  <input type="text" name="contrase" id="contraseña" />
  <p>
    <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="99999999999999999999">
    Envía este fichero: <INPUT NAME="fichero_usuario" TYPE="file"><INPUT TYPE="submit" VALUE="Envía Fichero">
  </p>
</FORM> 
RECIBE.PHP

Código PHP:
<?php
$FTP_User 
$_POST['usuario'];  // Si tu servidor requiere nombre de usuario
$FTP_Pass $_POST['contrase']; // Si tu servidor requiere nombre de clave de usuario
$FTP_Host "0.0.0.0" //nombre de tu dominio
$FTP_Root ""// Carpeta a la que se subirá los archivos
    
$Connect = @ftp_connect($FTP_Host); 
    
ftp_login($Connect$FTP_User$FTP_Pass); 
    
ftp_pasv($Connect,true); //Establece el modo de conexión pasivo
    
$nombre_archivo $FTP_Root $_FILES['fichero_usuario']['name']; 
    
$Local_Resource $_FILES['fichero_usuario']['tmp_name']; 
 if (
ftp_put($Connect$nombre_archivo$Local_ResourceFTP_BINARY)) { 
        echo 
"Archivo subido al servidor correctamente: $nombre_archivo"
    } 
    else 
    { 
        echo 
"Se ha detectado un error al subir el archivo: $nombre_archivo"
    }
    
ftp_quit($Connect);  //Cierrra la conexion ftp
 
?>
  #5 (permalink)  
Antiguo 04/04/2011, 08:21
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 10 meses
Puntos: 394
Respuesta: Formulario subida de archivos a FTP

Valdría uno para todo...
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #6 (permalink)  
Antiguo 04/04/2011, 09:00
 
Fecha de Ingreso: abril-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Formulario subida de archivos a FTP

Si, vale uno para todo ya lo tengo funcionando perfectamente, si me sale alguna otra duda, posteare. No dudare en recomendar este foro tanto para pregutnar como para recomendar. muchas gracias.

Etiquetas: ftp, subida, formulario
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 11:26.