Foros del Web » Programando para Internet » PHP »

funcion ftp_connect

Estas en el tema de funcion ftp_connect en el foro de PHP en Foros del Web. Alguien me puede decir si esta función no venia en php 4.0.4? O algo puedo estar haciendo mal? ej: $coneccion = ftp_connect($nro_servidor); Gracias...
  #1 (permalink)  
Antiguo 07/03/2004, 22:31
 
Fecha de Ingreso: agosto-2002
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 0
funcion ftp_connect

Alguien me puede decir si esta función no venia en php 4.0.4? O algo puedo estar haciendo mal? ej:
$coneccion = ftp_connect($nro_servidor);

Gracias
  #2 (permalink)  
Antiguo 07/03/2004, 22:47
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Si buscamos en el manual (que es por donde deberíamos empezar siempre)
http://www.php.net/manual/es/function.ftp-connect.php

leemos que esta función está disponible en (PHP 3>= 3.0.13, PHP 4 )

Saludos
  #3 (permalink)  
Antiguo 07/03/2004, 23:03
 
Fecha de Ingreso: agosto-2002
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 0
Busque ... busque

Supe buscar en el manual, y encontré, pero de todas maneras salta un error que dice :

Fatal error: Call to undefined function: ftp_connect() in ...

Lo único que pude darme cuenta es que al hacer un phpinfo() no me muesta "ftp support ... enabled", entonces pienso que puede estar configurado el php para que no acepte conecciones ftp. De todas maneras, viendo dentro del phpl.ini del servidor, lo único que encuentro para saber si es asi es la siguiente linea:

; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On

Esto esta en mi php.ini como en el del servidor. Entonces, puede ser otra posibilidad?
Gracias y espero respuestas
  #4 (permalink)  
Antiguo 08/03/2004, 20:03
 
Fecha de Ingreso: agosto-2002
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 0
Necesito una respuesta

Se me quemaron los papeles. Alguien me puede prestar ayuda?
Gracias.
  #5 (permalink)  
Antiguo 09/03/2004, 06:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Leyendo más abajo ....

Cita:
kent at digitalinkpen dot com
15-Mar-2001 03:43
We recompiled two versions, PHP 4.0.1 and 4.0RC1 to add FTP capability. 4.0.1 requires "--enable-ftp" but 4.0RC1 needs to be configured with the "--with-ftp" option. Not sure at what point this change was made, so be aware.
Revisalo por si acaso .. y si tienes oportunidad CAMBIA de versión de PHP .. es demasiado antigüa .. (y no sólo por lo "vieja" de la versión sino por lo insegura; no puedes usar los arrays superglobales $_XXX....)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 09/03/2004, 16:23
 
Fecha de Ingreso: agosto-2002
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 0
Aver si aclaro

Mi mensaje no fue completo, paso más información (especialmente para Cluster que cuanto mas info le pase mejor):
El primer intento fue subir los archivos con un metodo post en formulario y tomarlo con $http_post_files. Esto no resultó porque me dice que el acceso está denegado. No me permite copiar el archivo temporal en mi directorio. En este caso pretendo resolverlo con putenv() si es que upload_tmp_dir , o algo asi, es una variable de entorno, para poder moverlo a otro directorio al que no esté denegado el acceso.
Antes de esto surgió la opción del FTP_connect(). El servidor web tiene PHP 4.0.4, es decir que soporta esta función. Ahora, lo que intento hacer es copiar via FTP un archivo en el servidor, pero el PHP que lo hace está alojado en el servidor. Esto puede ser el problema?
Otra cosa, puede tener que ver, en el caso de querer copiar el archivo de un directorio del servidor a otro del mismo servidor, el nombre del server que estoy poniendo?
$Server = "localhost" o "www.mipaginaweb.com"

No tendré que usar los valores de REMOTE_ADDR en lugar de SERVER_ADDR?

No quiero seguir para poder recibir algo de UDS. Desde ya muchas gracias por las respuestas.

Fernando
  #7 (permalink)  
Antiguo 10/03/2004, 05:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Fernando... el hecho de aportar más información sobre tu problema no es para mi solo sino para quien pueda ayudarte.

Si vas a conectar por FTP .. el nombre del HOST ("server" que dices tu) será el de tu cuenta FTP que tengas creada en ese servidor .. puede ser "www.tal.tal" .. o lo típico "ftp.nose.tal" pero ese dato lo debes conocer tu ya si tienes una cuenta de FTP creada en ese servidor .. y por supuesto un servidor FTP corriendo en ese "servidor".

No me quedó claro si ya pudistes subir tu archivo por HTTP (vía tu formulario HTML con su objeto/campo tipo FILE) .. el caso es que el archivo en sí cuando lo subes por HTTP por médio de PHP queda en un directorio temporal, concretamente el que defina la directiva: upload_tmp_dir .. suele ser (en Linux) /tmp (y si es windows cualquier otro ...). SI pretendes mover ese archivo de ese directorio que Normalmente está FUERA de tu directorio asignado en ese servidor para tu cuenta FTP .. no vas a poder moverlo desde ese directorio temporal hacia su destino definitivo (algún directorio de tu sitio) con las funciones de FTP.

El archivo desde ese /tmp que sube vía HTTP hacia su destino definitivo debes moverlo con las funciones copy(), o leyendolo con file() o fread() o funciones afines (o move_uploaded_file() .. pero creo que esta función no está disponible en tu versión de PHP)

Las dos primeras funcinoes te va a dar problemas de permisos de lectura del archivo si la directiva SAFE_MODE está a ON (1) .. también si el open_base_dir apunta a un directorio concreto (normalmente si está activada apuntaría a tu raiz de tu sitio (con ruta absoluta ...)

De todas formas .. en cuanto a problemas de permisos de lectura/escritura de un directorio .. recueda que no sólo hay que ajustar los permisos (CHMOD) para ese tal /tmp (el que apunta el upload_tmp_dir) sino también los del directorio destino donde pretendes mover esos archivos en tu sitio.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 12/03/2004, 18:33
 
Fecha de Ingreso: agosto-2002
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 0
Por ahi andamos

Esas son respuestas, Cluster.
Si, evidentemente, estas encaminado en el problema que tengo. Parece que el servidor tiene bloqueado la copia del temporal. La copia pretendo hacerla con copy o move_uploaded_file, pero salta un mensaje de error tipo "acces denied".
Lo del FTP es otra cosa, intenté subirlo via FTP, pero sin buenos resultados, como lo explique en el mensaje anterior. Aca, por salta el mensaje :

Fatal error: Call to undefined function: ftp_connect() in ...

Version de PHP 4.0.4pl1. (imposible que me diga eso).

Por ahora voy a investigar lo de los permisos CHMOD, que no tengo la mas palida idea de que se trata.
Si se te ocurre otra opción por favor pasámela, es más, si encuentro un resultado favorable, te lo mando para que pueda servirle a alguien más.
Gracias.
Fernando

Última edición por Fom_ar; 12/03/2004 a las 23:02
  #9 (permalink)  
Antiguo 14/03/2004, 20:38
 
Fecha de Ingreso: agosto-2002
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 0
Ya ta

Cluster: soy un nabo, resulta que yo mismo habia modificado el tipo de atributo de los directorios y por eso me denegaba la copia. Lo que si no pude saber es porque :

chmod($dir, 0777);

me devuelve un mensaje de error. Y lo otro que no pude resolver es la conección FTP. Pero no importa, gracias por haber respondido.

Fernando

PD: aveces siento que no le doy nada al foro a cambio de las respuestas obtenidas. Pido disculpas por eso, pero uno cree que sabe y a la hora de responder no se sabe o en algunos casos no se entiende.
Bueno, me voy, a dio.

Supongo que ya podés cerrar este tema.

Última edición por Fom_ar; 14/03/2004 a las 20:46
  #10 (permalink)  
Antiguo 15/03/2004, 06:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
(los temas no se cierran .. permanecen abiertos por si hay alguna aportación más o incluso algún problema adicional que pudieras tener tu mismo como autor de la pregunta ...)

un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 15/03/2004, 22:54
 
Fecha de Ingreso: agosto-2002
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 0
Ok.
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 14:06.