Foros del Web » Programando para Internet » PHP »

como subir archivos .doc al ftp desde php

Estas en el tema de como subir archivos .doc al ftp desde php en el foro de PHP en Foros del Web. hola quiero ver si me pueden ayudar quiero saber como le hago para subir archivos desde php a una carpeta al servidor ftp...
  #1 (permalink)  
Antiguo 24/10/2006, 17:06
Avatar de blas9  
Fecha de Ingreso: septiembre-2006
Ubicación: en algun lugar
Mensajes: 55
Antigüedad: 17 años, 7 meses
Puntos: 0
como subir archivos .doc al ftp desde php

hola quiero ver si me pueden ayudar quiero saber como le hago para subir archivos desde php a una carpeta al servidor ftp
  #2 (permalink)  
Antiguo 24/10/2006, 17:57
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

No me queda claro:

Quieres subir el archivo via ftp o bien por medio de una "página web"?

Saludillos.
  #3 (permalink)  
Antiguo 24/10/2006, 18:54
Avatar de blas9  
Fecha de Ingreso: septiembre-2006
Ubicación: en algun lugar
Mensajes: 55
Antigüedad: 17 años, 7 meses
Puntos: 0
tengo el sgte. codigo

function ConectarFTP(){
//Permite conectarse al Servidor FTP
$id_ftp=ftp_connect(SERVER,PORT); //Obtiene un manejador del Servidor FTP
ftp_login($id_ftp,USER,PASSWORD); //Se loguea al Servidor FTP
ftp_pasv($id_ftp,MODO); //Establece el modo de conexión
return $id_ftp; //Devuelve el manejador a la función
}

function SubirArchivo($archivo_local,$archivo_remoto){
//Sube archivo de la maquina Cliente al Servidor (Comando PUT)
$id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP
ftp_put($id_ftp,$archivo_remoto,$archivo_local,FTP _BINARY);
//Sube un archivo al Servidor FTP en modo Binario
ftp_quit($id_ftp); //Cierra la conexion FTP
}

function ObtenerRuta(){
//Obriene ruta del directorio del Servidor FTP (Comando PWD)
$id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP
$Directorio=ftp_pwd($id_ftp); //Devuelve ruta actual p.e. "/home/willy"
ftp_quit($id_ftp); //Cierra la conexion FTP
return $Directorio; //Devuelve la ruta a la función
}


son estas funciones despues

hago esto pero no funciona y no se por que

if(!empty($_POST["archivo"])){ //Comprueba si la variable "archivo" se ha definido
SubirArchivo($_POST["archivo"],basename($_POST["archivo"]));
//basename obtiene el nombre de archivo sin la ruta
unset($_POST["archivo"]); //Destruye la variable "archivo"
}
  #4 (permalink)  
Antiguo 25/10/2006, 05:42
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 blas9 Ver Mensaje
hola quiero ver si me pueden ayudar quiero saber como le hago para subir archivos desde php a una carpeta al servidor ftp
Con PHP tu subes el archivo por el protocolo HTTP .. no por FTP si hablamos de usar un formulario HTML con un campo "file" para que tu usuario pueda subir un (o unos) archivo(s).

El archivo subirá al servidor que corra PHP (a un lugar temporal que PHP gestiona) .. de ahí lo mueves con funciones de "copiado de archivo" al directorio definitivo (de tu aplicación) donde tenga que quedar. En ningún momento usarías "FTP" .. aunque para "tí" .. el archivo quedará en la zona de ese servidro que tú por -otro- lado accedes por FTP (protocolo) con tu cliente FTP común.

Creo que esto es necesario que lo conozcas .. por qué así evitaras ir buscando funciones de "FTP" para solventar un problema que realmente no se trata por "FTP" 100% .. De hecho PHP puede actuar como "cliente FTP" .. pero el archivo que tomaría de origen debe estar ya en el servidor (no en el "cliente") y de ahí lo mueves a otro servidor o a si mismo si este dispone de un servidor FTP instalado y configurado como corresponda.

Toda la documentación al respecto sobre Upload de archivos (vía HTTP) lo tienes en:

http://www.php.net/manual/en/features.file-upload.php

Y debes aclarar "donde" tiene que quedar tu archivo .. no será lo mismo que quede en el mismo servidor que corre PHP que en -otro- (para "otro" usarías tus funciones FTP .. pero antes el archivo debes subirlo al servidor que corre PHP por HTTP).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 18:53.