• Miércoles 20 de Noviembre de 2024, 14:24

Autor Tema:  Problemas Para Subir Con Ftp  (Leído 1051 veces)

xayide

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Problemas Para Subir Con Ftp
« en: Martes 21 de Agosto de 2007, 18:44 »
0
Hola a todos!

Necesito subir archivos mediante FTP al servidor en el que está la página web.
Mientras estoy desarrollando la web, subía archivos desde local al servidor y funcionaba estupendamente. Ahora que he colgado la web, intento subir archivos desde la red al servidor, y es aquí donde aparecen mis problemas. Aparentemente sube todo bien, no da errores ni nada por el estilo, pero no sube nada.

Me he dado cuenta de que al hacer <?php echo filetype($archivo); ?> no imprime nada, ni siquiera error, o false o unknown, NADA. Esto es algo muy raro. Es como si no cogiese el archivo de mi ordenador.

Os adjunto el código encargado de subir el archivo.

Código: Text
  1. &#60;?php
  2. .....etc....
  3.  
  4. function subirImagenFTP(&#036;nombre_local,&#036;nombre_nuevo,&#036;mini_local,&#036;mini_nuevo){
  5.   // Primero creamos un ID de conexión a nuestro servidor
  6.   &#036;cid = ftp_connect(&#34;ftp.midominio.com&#34;);
  7.   // Luego creamos un login al mismo con nuestro usuario y contraseña
  8.   &#036;usuario=&#34;miusuario&#34;;
  9.   &#036;password=&#34;micontraseña&#34;;
  10.   &#036;resultado = ftp_login(&#036;cid, &#036;usuario, &#036;password);//echo &#34;hecho el login&#34;;
  11.   // Comprobamos que se creo el Id de conexión y se pudo hacer el login
  12.   if ((!&#036;cid) || (!&#036;resultado)) {
  13.     //&#036;salida= &#34;&#60;br&#62; La conexión no se ha podido realizar. Puede deberse a que no está conectado a internet o el servidor al que       pretende conectarse no se encuentra operativo &#60;/br&#62;&#34;;  
  14.     die(&#34;La conexión no se ha podido realizar. Puede deberse a que no está conectado a internet o el servidor al que       pretende conectarse no se encuentra operativo&#34;);
  15.   } else {
  16.     &#036;salida=&#34;&#60;br&#62; Conectado &#60;/br&#62;&#34;;
  17.     echo &#036;salida;
  18.   }
  19.   // Cambiamos a modo pasivo, esto es importante porque, de esta manera le decimos al
  20.   //servidor que seremos nosotros quienes comenzaremos la transmisión de datos.
  21.   ftp_pasv (&#036;cid, true)&#59;
  22.   // Nos cambiamos al directorio, donde queremos subir los archivos, si se van a subir a la raíz
  23.   // esta por demás decir que este paso no es necesario.
  24.   ftp_chdir(&#036;cid, &#34;/httpdocs/fotos&#34;);
  25.   &#036;salida=&#34;&#60;br&#62; Cambiado al directorio necesario &#60;/br&#62;&#34;;
  26.  
  27.   &#036;subido1= ftp_put(&#036;cid, &#036;nombre_nuevo, &#036;nombre_local, FTP_BINARY);echo &#34;subido1&#34;;
  28.   &#036;subido2= ftp_put(&#036;cid, &#036;mini_nuevo, &#036;mini_local, FTP_BINARY);echo &#34;subido2&#34;;
  29.  
  30.   if((!&#036;subido1) || (!&#036;subido2)){
  31.     &#036;salida= &#34;&#60;br&#62; No se ha podido subir el archivo &#60;/br&#62;&#34;;
  32.   }
  33.   else{
  34.     &#036;salida= true;
  35.   }
  36.   //cerramos la conexión FTP
  37.   ftp_close(&#036;cid);
  38.   return &#036;salida;
  39. }
  40.  
  41. function comprobarImagen(&#036;nombre_local,&#036;nombre_nuevo,&#036;mini_local,&#036;mini_nuevo){
  42.  
  43.   &#036;form1= false;
  44.   &#036;siz1= false;
  45.   &#036;arch1= false;
  46.   &#036;form2= false;
  47.   &#036;siz2= false;
  48.   &#036;arch2= false;
  49.  
  50.   &#036;arch1= &#036;this-&#62;nombre_vacio(&#036;nombre_local);
  51.   &#036;arch2= &#036;this-&#62;nombre_vacio(&#036;mini_local);
  52.   &#036;nombre_nuevo= &#036;this-&#62;nombre_formato(&#036;nombre_local,&#036;nombre_nuevo);
  53.   if(&#036;nombre_nuevo!=false){
  54.     &#036;form1= true;
  55.   }
  56.   else{
  57.     &#036;form1= false;
  58.   }
  59.   &#036;mini_nuevo= &#036;this-&#62;nombre_formato(&#036;mini_local,&#036;mini_nuevo);
  60.   if(&#036;mini_nuevo!=false){
  61.     &#036;form2= true;
  62.   }
  63.   else{
  64.     &#036;form2= false;
  65.   }
  66.   &#036;siz1= &#036;this-&#62;archivo_tam(&#036;nombre_local);
  67.   &#036;siz2= &#036;this-&#62;archivo_tam(&#036;mini_local);
  68.  
  69.   if((&#036;siz1)&&(&#036;form1)&&(&#036;arch1)&&(&#036;siz2)&&(&#036;form2)&&(&#036;arch2)){
  70.    
  71.     &#036;res=&#036;this-&#62;subirImagenFTP(&#036;nombre_local,&#036;nombre_nuevo,&#036;mini_local,&#036;mini_nuevo); //res es texto o true
  72.     &#036;salida= &#036;res;
  73.   }
  74.   else{
  75.     &#036;salida.= &#34;&#60;br&#62;No se han subido. Solucione los errores&#60;/br&#62;&#34;;
  76.     &#036;salida.=&#34;Recuerde que el nombre no debe ser vacio. El formato debe ser jpg, gif o jpeg. El peso debe ser menor a 100KB.&#34;;
  77.   }
  78.   return &#036;salida;
  79. }
  80.  
  81. function nombre_vacio(&#036;nombre){
  82.   if(empty(&#036;nombre)){
  83.     &#036;arch= false;
  84.   }
  85.   else{
  86.     &#036;arch= true;    
  87.   }
  88.   return arch;
  89. }
  90.  
  91. function nombre_formato(&#036;nombre, &#036;nombre_nuevo){
  92.   &#036;formato1=substr(&#036;nombre,-3,3);
  93.   &#036;formato2=substr(&#036;nombre,-4,4);
  94.  
  95.   if((strcasecmp(&#036;formato1,&#34;jpg&#34;)==0)||(strcasecmp(&#036;formato1,&#34;gif&#34;)==0)){
  96.     &#036;salida.=&#34;&#60;br&#62; El formato del archivo es valido &#60;/br&#62;&#34;;
  97.     &#036;nombre_nuevo.= &#34;.&#34; . &#036;formato1;
  98.   }
  99.   else if (strcasecmp(&#036;formato2,&#34;jpeg&#34;)==0){
  100.     &#036;salida.=&#34;&#60;br&#62; El formato del archivo es valido &#60;/br&#62;&#34;;
  101.     &#036;nombre_nuevo.= &#34;.&#34; . &#036;formato2;
  102.   }
  103.   else{
  104.     &#036;salida.= &#34;&#60;br&#62; El formato del archivo no es v&aacute;lido. El formato debe de ser: jpg, gif, jpeg &#60;/br&#62;&#34;;
  105.     &#036;nombre_nuevo= false;
  106.   }
  107.  
  108.   return &#036;nombre_nuevo;
  109. }
  110.  
  111. function archivo_tam(&#036;nombre_local){
  112.   if(filesize(&#036;nombre_local)&#60;100000){
  113.     &#036;siz= true;    
  114.   }
  115.   else{
  116.     &#036;siz= false;  
  117.   }
  118.   return &#036;siz;
  119. }
  120.  
  121. function archivo_tipo(&#036;f){
  122.   if(filetype(&#036;f)==&#34;file&#34;){
  123.     return true;
  124.   }
  125.   else{
  126.     return false;
  127.   }
  128. }
  129.  
  130.  
  131. }
  132.  
  133. ?&#62;
  134.  

Haber si alguien me puede ayudar!!

muchas gracias y un saludo!!

LeGatoRojo

  • Miembro HIPER activo
  • ****
  • Mensajes: 552
  • Nacionalidad: mx
    • Ver Perfil
    • LeGatoRojo
Re: Problemas Para Subir Con Ftp
« Respuesta #1 en: Martes 21 de Agosto de 2007, 20:04 »
0
He aqui un ejemplo posteado en el mismo foro con anterioridad

http://foros.solocodigo.com/index.php?showtopic=27159&hl=ftp

Como sugerencia usa el buscador, en muchas ocasiones ya se posteo la solución.
Un día desperte y en lugar de dientes tenía colmillos, en lugar de manos, tenía garras; pero lo más impactante fue el color escarlata de mi pelaje.

xayide

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Problemas Para Subir Con Ftp
« Respuesta #2 en: Miércoles 22 de Agosto de 2007, 11:29 »
0
Gracias por el link, pero no me ha servido de mucho. La solución que se propone es utilizar archivos temporales, pero mi servidor no permite su uso. Por eso intento subirlo directamente a la carpeta destino.

Mientras estoy desarrollando la web, y ejecutando el local, sí que sube de local al servidor. Pero una vez que cuelgo la página, no se pueden subir los archivos. Es algo muy raro. Además, como desde local funciona bien, ya no sé qué más probar!!

Si alguien tiene alguna idea se lo agradecería!!

muchas gracias y saludos!