Foros del Web » Programando para Internet » PHP »

Escribir Array en Fichero CSV

Estas en el tema de Escribir Array en Fichero CSV en el foro de PHP en Foros del Web. Tengo el siguiente codigo en el que quiero escribir un array en un fichero CSV pero no me escribe nada, alguna ayuda o guia por ...
  #1 (permalink)  
Antiguo 27/05/2009, 04:56
 
Fecha de Ingreso: agosto-2007
Mensajes: 248
Antigüedad: 16 años, 8 meses
Puntos: 1
Escribir Array en Fichero CSV

Tengo el siguiente codigo en el que quiero escribir un array en un fichero CSV pero no me escribe nada, alguna ayuda o guia por favor.. Gracias ¡¡¡

Código:
//Los ficheros CSV tienen como separador ";"
$separador=';'; 
//Abrimos para escribir y añadir, si no existe se crea el fichero
fopen($nombrefichero, "wa");  

$cabecera_fichero=array('REFERENCIA',$separador,'DESTINATARIO',$separador,'DOMICILIO',$separador,'POBLACION',$separador,'CODIGO POSTAL',$separador,'BULTOS',$separador,'PESO',$separador,'OBSERVACIONES',$separador);

if (is_writable($nombrefichero)) 
{
   for( $i = 0; $i < count($cabecera_fichero); $i ++)
    {
        fputcsv ($nombrefichero,$cabecera_fichero[$i]);        		
    }
}
fclose($nombrefichero);   //Cerramos Fichero

//Opcion al uaurio de Abrirlo o guardarlo directamente
header("Content-type: application/eml");
header("Content-Disposition: attachment; filename=".$nombrefichero."");
  #2 (permalink)  
Antiguo 27/05/2009, 07:26
 
Fecha de Ingreso: agosto-2007
Mensajes: 248
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: Escribir Array en Fichero CSV

¿Alguien sabe por este error?

fwrite(): supplied argument is not a valid stream resource
  #3 (permalink)  
Antiguo 27/05/2009, 09:01
 
Fecha de Ingreso: agosto-2007
Mensajes: 248
Antigüedad: 16 años, 8 meses
Puntos: 1
De acuerdo Respuesta: Escribir Array en Fichero CSV

La solucion es la siguiente:

Código:
$separador=';'; //Los ficheros CSV tienen como separador ";"
//Open for reading and writing. Deletes content and overwrites the file.
$fichero=fopen($nombrefichero, "wb+");  

$cabecera_fichero=array('REFERENCIA',$separador,'DESTINATARIO',$separador,'DOMICILIO',$separador,'POBLACION',$separador,'CODIGO POSTAL',$separador,'BULTOS',$separador,'PESO',$separador,'OBSERVACIONES',$separador);

if (is_writable($nombrefichero)) 
{ 
   for($i = 0; $i < count($cabecera_fichero); $i ++)
    {
	   //fwrite devuelve el numero de bytes escritos       
	   $numbytes = fwrite ($fichero,$cabecera_fichero[$i]);        		
    }     
   fwrite ($fichero,"\r\n"); //Salto de Linea
}

fclose($fichero);   //Cerramos Fichero
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 02:44.