Foros del Web » Programando para Internet » PHP »

Problema con ftp mediante php

Estas en el tema de Problema con ftp mediante php en el foro de PHP en Foros del Web. Hola a todos, tengo un problema utilizando la funcion ftp_put de php para subir un fichero mediante ftp a mi servidor, el directorio destino tiene ...
  #1 (permalink)  
Antiguo 11/03/2005, 12:27
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 14 años
Puntos: 0
Problema con ftp mediante php

Hola a todos, tengo un problema utilizando la funcion ftp_put de php para subir un fichero mediante ftp a mi servidor, el directorio destino tiene permisos 777 por lo que se puede escribir en el sin problemas, me conecto perfectamente, me muevo de directorio y todo es correcto, pero cuando quiero subir el fichero me dice:
Warning: ftp_put(): Unable to access c:\FoxServ\usuarios.sql in /home/subdomains/new/httpdocs/backup/pruebaftp.php on line 74
Imposible subir fichero usuarios.sql

como si no encontrara el fichero usuarios.sql que está en c:\FoxServ\usuarios.sql Todas las rutas están correctas
¿que puede suceder?
Utilizo la siguiente sintaxis:
ftp_put($x,"/home/subdomains/new/httpdocs/backup/usuarios.sql","c:\\FoxServ\\usuarios.sql",FTP_BINA RY)){

gracias de antemano
  #2 (permalink)  
Antiguo 11/03/2005, 13:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Deberías indicar el código que usas completo.

Un saludo,
  #3 (permalink)  
Antiguo 11/03/2005, 13:43
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 14 años
Puntos: 0
Pues ahí va Como he comentado el codigo se ejecuta perfectamente hasta llegar a la parte de subir el fichero.

Código PHP:
<?$x=ftp_connect ("localhost",21);

if(
$x !=0){
echo 
"Conexión FTP activada<br>";
}else{
echo 
"No se activo lo conexión FTP";
}

if(
ftp_login($x,"login","pass"))
{
echo 
"El login y la password han sido aceptados<br>";
}else{
echo 
"Error en login o password";
}
ftp_cdup($x);

echo 
"El directorio actual es el raiz: "ftp_pwd($x),"<br>";
$directorio ftp_pwd($x);

//Obtenemos el listado del directorio actual
$lista = array();
$lista ftp_nlist($x,$directorio);

//Mostramos sus contenidos
echo "<B><CENTER>CONTENIDOS DEL DIRECTORIO / (RAÍZ)</CENTER></B>";

echo 
"<pre>";
print_r($lista);
echo 
"</pre>";


//Cambiamos al directorio /httpdocs
if(!ftp_chdir($x,"httpdocs")){
    echo 
"Se ha producido un error al entrar en el directorio /httpdocs";
    exit;
}

//Almacenamos el directorio actual
$directorio2 ftp_pwd($x);

//Obtenemos el listado del directorio actual
$list = array();
$list ftp_nlist($x,$directorio2);

//Mostramos su contenido
echo "<B><CENTER>CONTENIDOS DEL DIRECTORIO /httpddocs</CENTER></B>";

echo 
"<pre>";
print_r($list);
echo 
"</pre>";

//Cambiamos al directorio /backup
if(!ftp_chdir($x,"backup")){
    echo 
"Se ha producido un error al entrar en el directorio /backup";
    exit;
}

//Almacenamos el directorio actual
$directorio3 ftp_pwd($x);

//Obtenemos el listado del directorio actual
$list = array();
$list ftp_nlist($x,$directorio3);

//Mostramos su contenido
echo "<B><CENTER>CONTENIDOS DEL DIRECTORIO /backup</CENTER></B>";

echo 
"<pre>";
print_r($list);
echo 
"</pre>";


//Tansferimos un fichero
if(!ftp_put($x,"/home/httpd/new/httpdocs/backup/usuarios.sql","c:/FoxServ/usuario.sql",FTP_BINARY)){
    echo 
"Imposible subir fichero usuarios.sql";
    exit;
}
?>
  #4 (permalink)  
Antiguo 11/03/2005, 14:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. de donde pretendes copiar tu archivo .. desde tu "cliente" (tu PC) hacia tu servidor? ..

Cita:
//Tansferimos un fichero
if(!ftp_put($x,"/home/httpd/new/httpdocs/backup/usuarios.sql","c:/FoxServ/usuario.sql",FTP_BINARY)){
echo "Imposible subir fichero usuarios.sql";
exit;
}
Eso no puedes hacerlo así .. tal cual .. en su defecto si tu te instalas un servidor FTP en tu PC y usas a PHP como "cliente" FTP podrías tomar tu archivo de tu PC "limpiamente" sin más intervención del usuario.

Sino, .. tendrás que subir el archivo -a mano- por HTTP desde un formulario HTML donde el usuario va a seleccionar el archivo de su PC y va a pulsar su botón de "enviar"...

Un saludo,
  #5 (permalink)  
Antiguo 12/03/2005, 11:11
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 14 años
Puntos: 0
Pues si, pretendia eso, subir ese fichero desde mi pc sin intervención de una mano que tuviera que pulsar el botón de enviar ¿me entiendes? Seria como una actualización automatica, subo ese fichero a mi servidor mediante ftp y desde el servidor restauro la base de datos... osea que me dices que si instalo un servido ftp en local ¿podria hacerlo? es que no te entiendo demasiado bien., de todas formas gracias por las molestias...
  #6 (permalink)  
Antiguo 15/03/2005, 07:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues si, necesitas instalar un servidor FTP en tu PC .. y usar a PHP como "cliente" de FTP para acceder a tu cuenta de tu servidor FTP (con su "host", "usuario" y "contraseña" ..). Si usas IP's dinámicas en tu conexión a internet de ese PC .. tendrás que contratar un servicio de DNS dinámico (como los que ofrece www.ods.org o similar ..)

Un saludo,
  #7 (permalink)  
Antiguo 16/03/2005, 12:29
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 14 años
Puntos: 0
Gracias cluster, siempre eres de gran ayuda... Miraré a ver cómo me arreglo el tema.

Gracias de nuevo
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 22:58.