elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  fclose no me funciona y no me cierra el archivo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: fclose no me funciona y no me cierra el archivo  (Leído 3,093 veces)
robertito_prado

Desconectado Desconectado

Mensajes: 156



Ver Perfil
fclose no me funciona y no me cierra el archivo
« en: 31 Mayo 2012, 16:32 pm »

Pues creo un archivo, meto contenido dentro y cuando lo quiero cerrar no me cierra, y me sigue escribiendo cosas que tiene la pagina.
Aqui esta el codigo, sencillo:


if (!empty($_POST["boton"])){         
       $nombre = basename("semana.csv");
            $f = fopen($nombre, "w");     
       for ($y=0; $y<$filasaplicacion; $y++){
         fwrite($f,$apli[$y]);
         for ($x=0; $x<3; $x++){
            fwrite($f,",");             
            fwrite($f,$datos[$x][$y]);
         }
             fwrite($f,"\n");
            }
       fclose($f);
       header("Cache-Control: public");
       header("Content-Description: File Transfer");
       header("Content-Disposition: attachment; filename=".$nombre);
       header("Content-Type: application/force-download");
       header("Content-Transfer-Encoding: binary");   
       readfile($nombre);
        }




Pues eso me mete bien los datos que quiero, pero luego no me cierra y me sigue metiendo cosas de la pagina, como el doctype y el head, por ejemplo  :-(
Gracias de antemano


En línea

Mira a tu alrrededor y llora, dime que cojones se valora
WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: fclose no me funciona y no me cierra el archivo
« Respuesta #1 en: 31 Mayo 2012, 16:51 pm »

Es raro, me parece que el problema no es el fopen, que datos contienen el array $apli?


En línea

robertito_prado

Desconectado Desconectado

Mensajes: 156



Ver Perfil
Re: fclose no me funciona y no me cierra el archivo
« Respuesta #2 en: 31 Mayo 2012, 17:16 pm »

El array $apli contiene una lista de nombres de aplicaciones, pero creo qu ese no es el fallo por dos motivos:

1.Utilizo ese array en otras partes de mi program y nunca me dio fallo.
2.Esa parte de codigo para abrir un archivo tambien la use en otros programas, con diferentes arrays y datos (obviamente) y siempre me da el mismo fallo que te comento en TODOS.

Gracias :D
En línea

Mira a tu alrrededor y llora, dime que cojones se valora
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: fclose no me funciona y no me cierra el archivo
« Respuesta #3 en: 2 Junio 2012, 20:11 pm »

Primero que nada, no puedes escribir nada en un archivo si no utilizas fwrite. Por lo tanto si aparecen datos de mas, lo mas seguro que el problema esta en los datos que le estas pasando al fwrite. Y mucho menos que desde los datos HTML estén sobre-escribiendo archivos en el sistema XD.

Te recomiendo que vayas mostrando el contenido que le pasaras al fwrite y luego que termine todo le haces un exit, para finalizar la ejecucion del archivo y nose muestre lo que esta después.

Prueba con esto:
Código
  1. if (!empty($_POST["boton"])){        
  2.       $nombre = basename("semana.csv");
  3.            $f = fopen($nombre, "w");    
  4.       for ($y=0; $y<$filasaplicacion; $y++){
  5.         fwrite($f,$apli[$y]);
  6. echo $apli[$y];
  7.         for ($x=0; $x<3; $x++){
  8.            fwrite($f,",");  
  9. echo ',';          
  10.            fwrite($f,$datos[$x][$y]);
  11. echo $datos[$x][$y];
  12.         }
  13.             fwrite($f,"\n");
  14.            }
  15.       fclose($f);
  16.       header("Cache-Control: public");
  17.       header("Content-Description: File Transfer");
  18.       header("Content-Disposition: attachment; filename=".$nombre);
  19.       header("Content-Type: application/force-download");
  20.       header("Content-Transfer-Encoding: binary");  
  21.       readfile($nombre);
  22.        }
  23.  
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
robertito_prado

Desconectado Desconectado

Mensajes: 156



Ver Perfil
Re: fclose no me funciona y no me cierra el archivo
« Respuesta #4 en: 4 Junio 2012, 09:12 am »

No me va... ahora simplemente me escribe los datos en la pantalla...
muchas gracias!!
« Última modificación: 4 Junio 2012, 09:34 am por robertito_prado » En línea

Mira a tu alrrededor y llora, dime que cojones se valora
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: fclose no me funciona y no me cierra el archivo
« Respuesta #5 en: 4 Junio 2012, 15:53 pm »

El archivo tiene permisos de escritura? tienes los errores habilitados en php?
En línea

robertito_prado

Desconectado Desconectado

Mensajes: 156



Ver Perfil
Re: fclose no me funciona y no me cierra el archivo
« Respuesta #6 en: 5 Junio 2012, 09:11 am »

Si que tine pero da lo mismo, ya lo solucione, por si te interesa solo tuve que darle la vuelta y eliminar los Fwrite, por asi decirlo:


           $nombre = basename("semana.csv");   
      
       header("Cache-Control: public");
       header("Content-Description: File Transfer");
       header("Content-Disposition: attachment; filename=".$nombre);
       header("Content-Type: application/force-download");
       header("Content-Transfer-Encoding: binary");   
      
       for ($y=0; $y<$filasaplicacion; $y++){
         echo $apli[$y];
         for ($x=0; $x<3; $x++){
            echo ",";             
            echo $datos[$x][$y];
         }
             echo "\n";
            }   


Gracias por todo a todos!!
Un saludo!! :D
En línea

Mira a tu alrrededor y llora, dime que cojones se valora
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Archivo PHP que funciona 1 ves SI, 1 vez NO
PHP
Felix el Gato 5 2,325 Último mensaje 11 Noviembre 2006, 18:18 pm
por Felix el Gato
ERROR en fclose($gestor);
PHP
<[(x)]> 3 2,586 Último mensaje 23 Enero 2009, 01:54 am
por WHK
Puedo poner codigos html5 en archivo php? ( no me funciona player )
Desarrollo Web
XXXXXX 3 4,628 Último mensaje 19 Junio 2010, 23:52 pm
por XXXXXX
Nerovision se cierra cuando intento añadir un archivo de video.
Multimedia
buite 0 5,110 Último mensaje 10 Octubre 2010, 21:35 pm
por buite
fclose sin argumentos
Programación C/C++
patilanz 2 1,761 Último mensaje 18 Agosto 2015, 16:18 pm
por patilanz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines