Foros del Web » Programando para Internet » PHP »

problema con FTP

Estas en el tema de problema con FTP en el foro de PHP en Foros del Web. Hola muy buenas me han surgido unos Warnings, y la verda no se de que son, o como solucionarlos. Se que en php tengo habilitado ...
  #1 (permalink)  
Antiguo 24/06/2008, 13:26
Avatar de elphaba  
Fecha de Ingreso: abril-2008
Ubicación: Ávila
Mensajes: 43
Antigüedad: 16 años
Puntos: 0
problema con FTP

Hola muy buenas me han surgido unos Warnings, y la verda no se de que son, o como solucionarlos.
Se que en php tengo habilitado el FTP, porque lo mire con la funcion phpinfo(), asi que no se cual puede ser el problema
Si ustedes me pueden ayudar se lo agradeceria.

Código:
Warning: ftp_login() expects parameter 1 to be resource, boolean given in C:\AppServ\www\web\uploads\ftp_config.php on line 3

Warning: ftp_pasv() expects parameter 1 to be resource, boolean given in   C:\AppServ\www\web\uploads\upload_archivo.php on line 22

Warning: ftp_chdir() expects parameter 1 to be resource, boolean given in C:\AppServ\www\web\uploads\upload_archivo.php on line 23

Warning: ftp_pwd() expects parameter 1 to be resource, boolean given in C:\AppServ\www\web\uploads\upload_archivo.php on line 28

Warning: ftp_close() expects parameter 1 to be resource, boolean given in C:\AppServ\www\web\uploads\upload_archivo.php on line 46
Estos son los codigos

1.php
Código PHP:
<?
# CONSTANTES

define("SERVER","localhost"); //IP o Nombre del Servidor
define("PORT",21); //Puerto
define("USER","willy"); //Nombre de Usuario
define("PASSWORD","12345"); //Contraseña de acceso
define("PASV",true); //Activa modo pasivo

# FUNCIONES

function ConectarFTP(){

     
$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
    
if (ftp_put($id_ftp,$archivo_remoto,$archivo_local,FTP_BINARY)) 
    echo 
"se ha cargado bien";
    else    echo 
"hubo errores";

   
ftp_close($id_ftp); //Cierra la conexion FTP
}

?>
2.php

Código HTML:
<html>
<head>
</head>
<body> 
Código PHP:
<?php
include('1.php'); //Incluye el archivo de funciones
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"
}
?>
Código HTML:
<strong><font color="#000000" size="3">Subir Archivo</font></strong></font></p>
<hr />

<!--Formulario para elejir el archivo a subir -->
<form action="" method="post" name="form_ftp" id="form_ftp">
<p><font size="2" face="Verdana, Tahoma, Arial"> Elegir archivo :
<input name="archivo" type="file" id="archivo" />
<input name="Submit" type="submit" value="Subir Archivo" />
</font><font size="2" face="Verdana, Tahoma, Arial"> </font> </p>
</form>

</body>
</html> 
Si alguien sabe porqué pueden dar esos errores se lo agradeceria!!!
Gracias

Última edición por elphaba; 24/06/2008 a las 13:36 Razón: pongo los codigos
  #2 (permalink)  
Antiguo 24/06/2008, 14:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: problema con FTP

Cambia tu función así:
Código PHP:
function ConectarFTP(){

     
$id_ftp=ftp_connect(SERVER,PORT) or die( "Error al conectar el server: " SERVER ", puerto: " 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

Saludos.
  #3 (permalink)  
Antiguo 25/06/2008, 00:21
Avatar de elphaba  
Fecha de Ingreso: abril-2008
Ubicación: Ávila
Mensajes: 43
Antigüedad: 16 años
Puntos: 0
Respuesta: problema con FTP

Hola,

Lo primero muchisimas gracias por responder con tanta brevedad .
Me sale esto, al poner ...or die...(lo que me dijiste)
Código:
Error al conectar el server: localhost, puerto: 21
Voy a intentar, a ver porque es. Si tienes alguna idea me dices, si no te importa mucho, vale??

Gracias!!!
  #4 (permalink)  
Antiguo 25/06/2008, 01:41
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Respuesta: problema con FTP

¿Tienes un servidor de FTP en ese servidor que atienda a localhost? Pregunta a tu empresa de hosting.
  #5 (permalink)  
Antiguo 25/06/2008, 02:33
Avatar de elphaba  
Fecha de Ingreso: abril-2008
Ubicación: Ávila
Mensajes: 43
Antigüedad: 16 años
Puntos: 0
Respuesta: problema con FTP

Cita:
Iniciado por DarkJ Ver Mensaje
¿Tienes un servidor de FTP en ese servidor que atienda a localhost? Pregunta a tu empresa de hosting.
Si debe ser eso, me voy a instalar un server ftp

Última edición por elphaba; 25/06/2008 a las 02:43
  #6 (permalink)  
Antiguo 25/06/2008, 02:42
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Respuesta: problema con FTP

Apache es un servidor HTTP, no FTP. Tienes que tener uno aparte. Ademas de tenerlo instalado, tiene que estar funcionando. Si tienes un cliente ftp (como filezilla), intenta conectarte. Si no puedes, es que no tienes un servidor FTP funcionando.
  #7 (permalink)  
Antiguo 25/06/2008, 04:06
Avatar de elphaba  
Fecha de Ingreso: abril-2008
Ubicación: Ávila
Mensajes: 43
Antigüedad: 16 años
Puntos: 0
Respuesta: problema con FTP

Cita:
Iniciado por DarkJ Ver Mensaje
Apache es un servidor HTTP, no FTP. Tienes que tener uno aparte. Ademas de tenerlo instalado, tiene que estar funcionando. Si tienes un cliente ftp (como filezilla), intenta conectarte. Si no puedes, es que no tienes un servidor FTP funcionando.
Era eso, ya he instalado el vsftp que es que viene en ubuntu.
Ahora me surge otro problema

Código:
Warning: ftp_login() [function.ftp-login]: OOPS: vsftpd: refusing to run with writable anonymous root in /var/www/cron_pfc/cliente/cftp.php on line 21

Warning: ftp_put(2-3-08 028-1.jpg) [function.ftp-put]: failed to open stream: No such file or directory in /var/www/cron_pfc/cliente/cftp.php on line 30
por cierto cambien esto en el codigo
Código PHP:
define("SERVER","127.0.0.1"); //IP o Nombre del Servidor
define("PORT",21); //Puerto
define("USER","anonymous"); //Nombre de Usuario
define("PASSWORD",""); //Contraseña de acceso
define("PASV",true); //Activa modo pasivo 
  #8 (permalink)  
Antiguo 25/06/2008, 04:09
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Respuesta: problema con FTP

Eso ya es problema de configuracion del servidor FTP (vsftpd), no de PHP. Prueba en lugar de usar anonimo usar un usuario normal del FTP.
  #9 (permalink)  
Antiguo 25/06/2008, 05:45
Avatar de elphaba  
Fecha de Ingreso: abril-2008
Ubicación: Ávila
Mensajes: 43
Antigüedad: 16 años
Puntos: 0
Respuesta: problema con FTP

Cita:
Iniciado por DarkJ Ver Mensaje
Eso ya es problema de configuracion del servidor FTP (vsftpd), no de PHP. Prueba en lugar de usar anonimo usar un usuario normal del FTP.
Hola de nuevo, simplemente darte las gracias porque ya me soluciono lo del primer warning ahora tan solo me sale
Código:
Warning: ftp_put(pocoyo.jpg) [function.ftp-put]: failed to open stream: 
No such file or directory in /var/www/cron_pfc/cliente/cftp.php on line 30
Me han comentado que puede ser porque no tiene la ruta de donde esta el fichero que subo. No se voy a mirar por el foro a ver si alguien le ocurrio lo mismo.

Gracias
  #10 (permalink)  
Antiguo 25/06/2008, 08:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: problema con FTP

Así es, le estas pasando una ruta que no existe por eso no la puede poner con ftp_put, revisa que tus paths sean correctos.

Saludos.
  #11 (permalink)  
Antiguo 26/06/2008, 02:04
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Respuesta: problema con FTP

Por cierto, ¿que quieres hacer? Porque si es subir un fichero desde el ordenador del visitante al servidor PHP via FTP desde un formulario HTML, te estas equivocando.
  #12 (permalink)  
Antiguo 24/05/2009, 12:06
Avatar de miglos  
Fecha de Ingreso: enero-2005
Ubicación: Perú
Mensajes: 235
Antigüedad: 19 años, 3 meses
Puntos: 1
Respuesta: problema con FTP

eso es lo que quiero hacer, cual es la forma correcta de subir un archivo (.csv en mi caso) para ser leido por mi script php?
__________________
:adios:
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 16:30.