Foros del Web » Programando para Internet » PHP »

Escribir contenido de 1 array en un archivo

Estas en el tema de Escribir contenido de 1 array en un archivo en el foro de PHP en Foros del Web. Bueno, tengo un array: $array_frutas=('manzana'=>'roja','limon'=>'verde') Necesito generar un archivo 'aca_el_array.php' y dentro de 'el' un array con los datos. que salga finalizado el .php así: ...
  #1 (permalink)  
Antiguo 10/11/2009, 15:30
zx9
 
Fecha de Ingreso: noviembre-2006
Mensajes: 29
Antigüedad: 17 años, 5 meses
Puntos: 2
Pregunta Escribir contenido de 1 array en un archivo

Bueno, tengo un array: $array_frutas=('manzana'=>'roja','limon'=>'verde')
Necesito generar un archivo 'aca_el_array.php' y dentro de 'el' un array con los datos.
que salga finalizado el .php así:

Código PHP:
<?  if(!defined('INCLUDED')){die("Access Denied");
$datos=array('manzana'=>'roja','limon'=>'verde');
?>
El archivo y todo su contenido necesito generarlo.

Me sale la palabra 'array' y no el contenido,
uso esto:
Código PHP:
$fp = fopen('aca_el_array.php', 'w');
$content = "<?php  if(!defined('INCLUDED')){die("Error\");}\n".
            
"\$array_armado =  array($array_frutas);?>";

        
fputs($fp$content); 
        
fclose($fp);
Espero se entienda, me dan una manito?,
Gracias

Última edición por zx9; 11/11/2009 a las 03:51 Razón: postié la solucion y mejoré esta presentacion
  #2 (permalink)  
Antiguo 10/11/2009, 17:22
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Escribir contenido de 1 array en un archivo

En lugar de tratar de imprimir la variable directamente, puedes usar var_export() con el segundo parámetro en true para capturar la salida.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 10/11/2009, 18:16
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 16 años, 5 meses
Puntos: 30
Respuesta: Escribir contenido de 1 array en un archivo

lo que quieres es que se despliegen los valores o el codigo

si es los valores usa esto

$datos=array('manzana'=>'roja','limon'=>'verde');
foreach($datos as $clave => $dato){
echo $clave.'->'. $dato.'<br>';

}
__________________
...
  #4 (permalink)  
Antiguo 11/11/2009, 03:54
zx9
 
Fecha de Ingreso: noviembre-2006
Mensajes: 29
Antigüedad: 17 años, 5 meses
Puntos: 2
Sonrisa Respuesta: Escribir contenido de 1 array en un archivo

Bueno dejo la solución que encontré, asi le sirve a alguien.


Código PHP:
<?php

$valores_del_array
=array('manzana'=>'roja','limon'=>'amarillo',);#este array se 'imprimirá' dentro de un archivo llamado 'aca_el_array.php'

while (list($key$value) = each($valores_del_array)) { # generamos la 'impresion' en fila de cada elemento separado por 'coma'
    
$out.="'$key'=>'$value',";  
}

$out=rtrim($out,',');# saco la ultima 'coma' que está demás

$file fopen('aca_el_array.php''w');

$contenido "<?php if(!defined('INCLUDED')){die(\"Error\");}\$array_armado=array($out);?>";#cargo todo los datos

fputs($file$contenido);# los introduzo dentro del archivo 'aca_el_array.php'
fclose($file); #cierro el archivo 'aca_el_array.php'
    
    
#para ser cargado el nuevo array, incluimos el archivo nuevo
include('aca_el_array.php');    
?>
Dentro del archivo 'aca_el_array.php' veremos lo siguiente:
Código PHP:
<?php if(!defined('INCLUDED')){die("Error");}$array_armado=array('manzana'=>'roja','limon'=>'amarillo');?>
Estará armado 'sin saltos de linea' ni 'espacios' , que es lo que yo necesito, también.

---
@David:
Prové tu ayuda y sirve, pero me arroja todo con saltos de linea y espacio entre cada elemento (cosa que no quiero), Gracias por tu ayuda.

--
@zaetoner:
Necesitaba que se arme un archivo.php con el array 'impreso dentro', para luego desde otro archivo cargar 'ese' array con 'include()', Gracias por tu ayuda.


PS:
Si encuentran la forma de optimizarlo, postéen.
Gracias
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 18:14.