Foros del Web » Programando para Internet » PHP »

Duda con funcion para FTP

Estas en el tema de Duda con funcion para FTP en el foro de PHP en Foros del Web. Hola: Después de algunos días fuera ya estoy de vuelta (estaba algo cogido con un proyecto de Programación en C++, otro de Sistemas de Bases ...
  #1 (permalink)  
Antiguo 30/01/2004, 00:42
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Duda con funcion para FTP

Hola:
Después de algunos días fuera ya estoy de vuelta (estaba algo cogido con un proyecto de Programación en C++, otro de Sistemas de Bases de Datos y otro de Física, además de un sitio web de Inglés, que son las evaluaciones finales de estas asignaturas y hay que esmerarse para coger un 5). Bueno lo que me pasa es que estoy realizando una función que logeandome en un FTP me permita descargar los ficheros desde el servidor pero sin necesidad de entrar en el. La función en cuestión es esta:

Código PHP:
 function conectaftp($server,$port,$usuario,$passwd,$ficherolocal,$fileid){
     
$conecta ftp_connect($server,$port,300);
     
$login ftp_login($conecta,$usuario,$passwd);
     if ((!
$conecta) or (!$login)){
         echo 
"La conexión al Servidor FTP ha fallado<br>";
         echo 
"Debes introducir un nombre de usuario y contraseña correctos";
         exit();
     }else{
         echo 
"Conexión realizada exitosamente";
//Esta es la linea 79          
if (ftp_get($conecta,$ficherolocal,$fileid,FTP_BINARY)){
              echo 
"Descarga completada correctamente";
          }else{
              echo 
"Ocurrio un error mientras se intentaba descargar el fichero:&nbsp;".$fileid;
          }
     }
     
ftp_close($conecta);
 } 
pero me da este error cuando trato de llamarla
Conexión realizada exitosamente
Warning: ftp_get(): Permission denied. in c:\archivos de programa\apache group\apache\htdocs\newsite\includes\functions.inc .php on line 79
Ocurrio un error mientras se intentaba descargar el fichero: 01.txt


No se porque si se conecta bien me da esos errores y no me deja descargar el fichero que yo quiero. Me dan una mano ?

Salu2
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 30/01/2004, 06:27
Avatar de jercer  
Fecha de Ingreso: octubre-2003
Mensajes: 373
Antigüedad: 14 años, 1 mes
Puntos: 13
El archivo donde se guarda debe tener los permisos necesarios de escritura.
__________________
Jerónimo Cernuda
Wemaster de McAnam.com
  #3 (permalink)  
Antiguo 30/01/2004, 09:57
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Si pero ...

Pero no se como hacer eso de darle los permisos al fichero
__________________
Ing. Reynier Pérez Mira
  #4 (permalink)  
Antiguo 30/01/2004, 10:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Con la función: ftp_chmod() puedes cambiar los permisos de un directorio u archivo .. (ya que estás trabajando en tu servidor FTP .. necesitas usar funciones FTP o lanzar comandos FTP que hagan la función CHMOD).

Cita:
Bueno lo que me pasa es que estoy realizando una función que logeandome en un FTP me permita descargar los ficheros desde el servidor pero sin necesidad de entrar en el. La función en cuestión es esta:
Por cierto .. estás usando PHP como cliente de FTP .. así que estás "entrando en el" .. xDDD


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 30/01/2004, 10:58
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
A que debo...

A que es lo que debo cambiarle los permisos al fichero que esta en el servidor o al que voy a crear en la PC del usuario. Cuando digo fichero digo directorio que se crea y nombre del fichero.

Salu2
__________________
Ing. Reynier Pérez Mira
  #6 (permalink)  
Antiguo 30/01/2004, 11:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Todo lo que creas en ese servidor debe tener sus permisos adecuados .. sean directorios o archivos que mueves a ese servidor FTP.

(ftp_chmod() .. se aplica despues de hacer alguna de esas acciones .. crear un directorio .. o copiar un archivo).

Un saludo,

Supongo que cuando dices "PC del usuario" te refieres a que ese "usuario" tiene instalado un servidor FTP al cual quieres acceder ?
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 30/01/2004, 21:45
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Entonces quedarái así

Entonces como quedaría así:
Código PHP:
function conectaftp($server,$port,$usuario,$passwd,$ficherolocal,$fileid){
     
$conecta ftp_connect($server,$port,300);
     
$login ftp_login($conecta,$usuario,$passwd);
     if ((!
$conecta) or (!$login)){
         echo 
"La conexión al Servidor FTP ha fallado<br>";
         echo 
"Debes introducir un nombre de usuario y contraseña correctos";
         exit();
     }else{
         echo 
"Conexión realizada exitosamente";
          
ftp_chmod($ficherolocal);
          if (
ftp_get($conecta,$ficherolocal,$fileid,FTP_BINARY)){
              echo 
"Descarga completada correctamente";
          }else{
              echo 
"Ocurrio un error mientras se intentaba descargar el fichero:&nbsp;".$fileid;
          }
     }
     
ftp_close($conecta);
 } 
__________________
Ing. Reynier Pérez Mira
  #8 (permalink)  
Antiguo 31/01/2004, 16:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
vistes la documentación de ftp_chmod() ?

Le falta que le indiques el "permiso" que le vas a dar a tu archivo .. y sobretodo enterarte de cual debes de darle concretamente (eso en el foro de Linux te orientarán mejor).

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 09:25.