Publicentral.com - promocion de paginas webpromocion de paginas web
Mostrando Codigo - Php
Code

Php - Subir archivos al servidor via FTP

Códigos Php

En el ejemplo mostramos como subir un archivo a nuestro servidor via Ftp mediante un formulario.
Visitas: 39,584 - 12/12/2004 21:24:51
CODIGO SIN DEMOSTRACIONNO CONTIENE ARCHIVO DESCARGABLEComentario
EXPLICACION

El codigo debemos de guardarlo en un archivo llamado subir.php

Hay varias lineas del código que deben de ser modificadas:
$FTP_User = "";  // Si tu servidor requiere nombre de usuario
$FTP_Pass = ""; // Si tu servidor requiere nombre de clave de usuario
$FTP_Host = "dominio.com"; // Nombre de tu dominio
$FTP_Root = "/carpeta/upload"; // Carpeta a la que se subirá los archivos

No es necesario Modificar puesto que es la parte que se encarga de procesar y subir nuestro archivo.
if ($_POST['Submit'] != "") {
    $Connect = @ftp_connect($FTP_Host);
    ftp_login($Connect, $FTP_User, $FTP_Pass);
    $nombre_archivo = $FTP_Root . $_FILES['archivo_1']['name'];
    $Local_Resource = $_FILES['archivo_1']['tmp_name'];

La siguiente parte muestra un mensaje de verificadion si el codigo ha subido a nuestro servidor correctamente.
 if (ftp_put($Connect, $nombre_archivo, $Local_Resource, FTP_BINARY)) {
        echo "Archivo subido al servidor correctamente: $nombre_archivo
";
    }
    else
    {
        echo "Se ha detectado un error al subir el archivo: $nombre_archivo
";
    }

Las siguientes lineas se encargan de mostrar el formulario para subir nuestro archivo.

CODIGO
Codigo probado en ChromeCodigo probado en Mozilla FirefoxCodigo probado en Internet Explorer 7+Codigo probado en OperaCodigo probado en Safari


// Codigo ofrecido por Tutores.org

  1.  <?php
  2. $FTP_User = "";
  3. $FTP_Pass = "";
  4. $FTP_Host = "dominio.com";
  5. $FTP_Root = "/carpeta/upload";
  6. if ($_POST['Submit'] != "") {
  7.     $Connect = @ftp_connect($FTP_Host);
  8.     ftp_login($Connect, $FTP_User, $FTP_Pass);
  9.     $nombre_archivo = $FTP_Root . $_FILES['archivo_1']['name'];
  10.     $Local_Resource = $_FILES['archivo_1']['tmp_name'];
  11.     if (ftp_put($Connect, $nombre_archivo, $Local_Resource, FTP_BINARY)) {
  12.         echo "Archivo subido al servidor correctamente: $nombre_archivo<br />";
  13.     }
  14.     else
  15.     {
  16.         echo "Se ha detectado un error al subir el archivo: $nombre_archivo<br />";
  17.     }
  18. }
  19. echo '<form action="subir.php" method="POST" enctype="multipart/form-data">
  20. <input name="archivo_1" type="file">
  21. <input type="Submit" name="Submit" value="Subir Archivo">
  22. </form>';
  23. ?>



ENLACE AL CODIGO
Si quieres enlazar desde tu pagina a este codigo
<!-- Inicio enlace Tutores.org -->
<a title="Tutores.org - Subir archivos al servidor via FTP" href="http://www.tutores.org/codigo/1438/" target="_blank">Subir archivos al servidor via FTP</a>
<!-- Final enlace Tutores.org -->
COMENTARIOS
Comentario usuario
08/11/2004 18.01.55
5 5
vi ti codihgo para subir archivos y me sale un error yo estoy trabajando con un servidor localhost y mi carpeta es mi pagina y me sale un error para subir
el erro es
Warning: ftp_login() expects parameter 1 to be resource, boolean given in c:ppservwwwmi paginasubir.php on line 8

Warning: ftp_put() expects parameter 1 to be resource, boolean given in c:ppservwwwmi paginasubir.php on line 11
Se ha detectado un error al subir el archivo: /MI PAGINA/upload/CATEDRA-VECTORES- 2008.ppt POR FAVOR AYUDAME
Comentario usuario
08/11/2004 18.01.55
3 5
yo tengo mi pagina en iddo
mi link jorgenc.idoo.com pero idoo me para una cuenta que es $FTP_Host es jorgenc.idoo.co o idoo-mysql00
$host = "servidorftp";
$user="user";
$clave="miclave";
$base = "base";
mi pregunta es
<?php
$FTP_User = "usuario";
$FTP_Pass = "clave";
$FTP_Host = "servidorftp";
$FTP_Root = "/carpeta/upload";
if ($_POST['Submit'] != "") {
$Connect = @ftp_connect($FTP_Host);
ftp_login($Connect, $FTP_User, $FTP_Pass);
$nombre_archivo = $FTP_Root . $_FILES['archivo_1']['name'];
$Local_Resource = $_FILES['archivo_1']['tmp_name'];
if (ftp_put($Connect, $nombre_archivo, $Local_Resource, FTP_BINARY)) {
echo "Archivo subido al servidor correctamente: $nombre_archivo<br />";
}
else
{
echo "Se ha detectado un error al subir el archivo: $nombre_archivo<br />";
}
}
echo '<form action="subir.php" method="POST" enctype="multipart/form-data">
<input name="archivo_1" type="file">
<input type="Submit" name="Submit" value="Subir Archivo">
</form>';
?>
Comentario usuario
19/04/2003
2 5
Hola jorge
Hemos modificado tu mensaje ya que indicabas tus claves y usuario de acceso.

pensamos que jorgenc.idoo.co es el que debes de utilizar ya que "idoo-mysql00" es para la base de datos mysql
Comentario usuario
23/09/2005 22.53.03
5 5
Esto no es válido para subir archivos desde nuestro pc al servidor, ya que el php se ejecuta en el lado del servidor y nunca va a poder enviar el archivo que esté en nuestro pc. ¿Sabéis alguna forma de hacer un upload desde php?
Comentario usuario
MANUEL GONZALEZ
4 5
hola super bien muchas gracias... solo una cosilla... como hago para visualizar el porcentaje de subida del archivo????????????
Comentario usuario
MANUEL GONZALEZ
3 5
hola super bien muchas gracias... solo una cosilla... como hago para visualizar el porcentaje de subida del archivo????????????
Comentario usuario
Anonimo
2 5
Imprescindible añadir / al final de la variable:
$FTP_Root = "/carpeta/upload";

quedando así:

$FTP_Root = "/carpeta/upload/";

y cuidado con el primer /. Si empiezas con /carpeta... estás indicando que "carpeta" se encuentra en la raiz de tu sitio ftp. Si es así, ningún problema.

Y para David: Naturalmente que este código permite subir archivos de tu pc al servidor mediante tu cuenta ftp. Para eso existe el formulario con el campo de tipo file
Comentario usuario
drnocho
1 5
Grosso el codigo lo que nesecitaba!!! Efectivo, consico y preciso. Esta de 100 saludos funciona muy bien ya lo probe.
Comentario usuario
Tux!
3 5
Lindo codigo! lastima que terminas muriendo con el $_FILES que eso depende DIRECTAMENTE de Apache o el web server correspondiente ... no soluciona mi problema ... hay veces que no podes subir por culpa de las variables http_post_max y upload_max_filesize que si bien se pueden modificar es un terrible lio. pense que con php se obtenian los archivos de otra manera pero sigue siendo lo mismo ... tendre que utilizar un applet en java :S
Comentario usuario
24/10/2003 22.12.49
4 5
muy concreto y especifico gracias por el recurso actualmente lo utilizo y funciona bien desde una pc al servidor. mira y como se realiza la descarga
Comentario usuario
abraham
2 5
A ver echenme la mano me sale este error

Warning: ftp_put() [function.ftp-put]: Rename/move failure: No such file or directory in /home/branicon/public_html/PRUEBAS/subir.php on line 22

QUE PODRA SER COPIE TAL CUAL EL CODIGO.

Solo cambie mi carpeta, que ahi es donde quiero que suba, esas carpetas estan en mi panel de control ya creadas

$FTP_Root = "/public_html/upload/";
Comentario usuario
abraham
3 5
Bueno le sdejo m mail, porque no se si me avise cuando respondan.
branimlm@hotmail.com
Comentario usuario
05-11-2009 17:33:28
1 5
me lo puede explicar alguien paso a paso que me lio con el tueorial

conoceis algun servidor ftp que cumpla los requisitoa de este codigo
Comentario usuario
13-11-2007 12:52:07
2 5
hey gracias estaba buscando este codigo.. y pues me ayudo puedo subir todo tipo de archivo gracias...
Comentario usuario
Carlos chan
5 5
lo estoy probando, pero me manda error en fpt_put me da el siguiente error; Warning: ftp_put() expects parameter 4 to be long, string given in archivosftpfunc.php on line, que alguien me ayude con este error
Comentario usuario
23/03/2004 14.09.13
1 5
Hola, gracias por el código, pero tengo una duda.
tengo que subir archivos de hasta 300 megabytes. ¿me servirá este código?
Comentario usuario
06-05-2008 18:52:51
2 5
hola chicos buen codigo, pero como hago para duplicar la informacion que se sube en otra carpeta del mismo ftp.

Gracias de antemano
Comentario usuario
Mario Hernández
2 5
A mí me da este error:

Error del servidor
El sitio web ha detectado un error al recuperar la http://mariohernandez.webcindario.com/subir/subir.php http://mariohernandez.webcindario.com/subir/subir.php. Es posible que esta esté inactiva debido a tareas de mantenimiento o que se haya configurado de forma incorrecta.
INSERTAR COMENTARIO

Usuario:
Email:
Comentario:
Codigo Seguridad


Antes de enviar un comentario...
Todos los comentarios son revisados personalmente
Todo comentario que no haga relacion al codigo mostrado en esta pagina sera eliminado

Usuarios registrados tienen preferencia en recibir respuestas de ayuda!!
Ademas de poder insertar Imagenes,Enlaces y otras propiedades del editor.
Por favor, insertar los comentarios descriptivos.