elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 13:14  


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  De un archivo con comandos a array ? (solved)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: De un archivo con comandos a array ? (solved)  (Leído 1,133 veces)
Diabliyo


Desconectado Desconectado

Mensajes: 1.270


M.S.I Angel Cantu


Ver Perfil WWW
De un archivo con comandos a array ? (solved)
« en: 11 Enero 2011, 21:59 »

Buenas.

quiero saber como puedo ir armando un array ?

Vaya, tengo un archivo, donde escribo "comandos" y quiero que estos comandos se pasen a un array, claro, conforme voy leyendo los comandos de un archivo.

Por ejemplo, algunos comandos de mi archivo:

Código:
# archivo: comandos.txt
# contenido:

color=#000000
font=mifont.ttf
web=www.mipagina.com

Tengo mi codigo que lee del archivo los comandos, ignora toda linea que inice con un SALTO DE LINEA o con un GATITO (comentarios), es este:

Código
<?php
$file= 'comandos.txt';
 
$fp= fopen( $file, "r");
while(!feof($fp) )
{
$buf= fgets( $fp, 2048); # leemos
# si es distinto de comentario, vacio o salto de linea, leemos
if( strcmp($buf[0], "#") && strcmp($buf[0], "") && strcmp($buf[0], "\n") )
echo $buf; # estoy imprimiendo comando, PERO QUIERO METERLO A UN ARRAY
}
?>

En el codigo, podemos ver que lee los comandos y las IMPRIME (ya que es un ejemplo), pero quiero meterlo a un array, vaya, tener una variable vacia e ir metiendole valores a dicha variable, para despues recorrer esa variable con un foreach.

Alguna idea ?


« Última modificación: 12 Enero 2011, 21:44 por Diabliyo » En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 954



Ver Perfil
Re: De un archivo con comandos a array ?
« Respuesta #1 en: 11 Enero 2011, 22:40 »

Código
<?php
$file= 'comandos.txt';
 
$fp= fopen( $file, "r");
while(!feof($fp) )
{
$buf= fgets( $fp, 2048); # leemos
# si es distinto de comentario, vacio o salto de linea, leemos
if( strcmp($buf[0], "#") && strcmp($buf[0], "") && strcmp($buf[0], "\n") )
$comandos[] = $buf; # estoy imprimiendo comando, PERO QUIERO METERLO A UN ARRAY }
print_r($comandos);
?>

Salida:
Código:
Array ( [0] => color=#000000 [1] => font=mifont.ttf [2] => web=www.mipagina.com )


En línea

Diabliyo


Desconectado Desconectado

Mensajes: 1.270


M.S.I Angel Cantu


Ver Perfil WWW
Re: De un archivo con comandos a array ?
« Respuesta #2 en: 11 Enero 2011, 23:10 »

Código
<?php
$file= 'comandos.txt';
 
$fp= fopen( $file, "r");
while(!feof($fp) )
{
$buf= fgets( $fp, 2048); # leemos
# si es distinto de comentario, vacio o salto de linea, leemos
if( strcmp($buf[0], "#") && strcmp($buf[0], "") && strcmp($buf[0], "\n") )
$comandos[] = $buf; # estoy imprimiendo comando, PERO QUIERO METERLO A UN ARRAY }
print_r($comandos);
?>

Salida:
Código:
Array ( [0] => color=#000000 [1] => font=mifont.ttf [2] => web=www.mipagina.com )

Buena idea.... me sirve..

Pero bueno, aqui les paso un segundo code que me hice:

Código
<?php
$i=0; # contador
$arr= array(); # arreglo
while(!feof($fp) )
{
$buf= fgets( $fp, 2048); # leemos
# si es distinto de comentario, vacio o salto de linea, leemos
if( strcmp($buf[0], "#") && strcmp($buf[0], "") && strcmp($buf[0], "\n") )
{
$x= explode( "=", $buf ); # explotando
$arr[$i]= array( $x[0]=>$x[1] ); # metemos al arreglo
$i++; # incremento
}
}
?>
En línea

WHK
吴阿卡
Ex-Staff
*
Desconectado Desconectado

Mensajes: 4.113


The Hacktivism is not a crime


Ver Perfil WWW
Re: De un archivo con comandos a array ?
« Respuesta #3 en: 11 Enero 2011, 23:12 »

Código:
# archivo: comandos.txt
# contenido:

color=#000000
font=mifont.ttf
web=www.mipagina.com

Código
<?php
 
$data = '
# archivo: comandos.txt
# contenido:
 
<contenido>
color=#000000
font=mifont.ttf
web=www.mipagina.com
</contenido>
'
;
 
$data = explode('<contenido>', $data);
$data = explode('</contenido>', $data[1]);
$data = explode('=', $data[0]);
foreach($data as $var => $val){
$out[trim($var)] = trim($val);
}
$data = $out;
unset($out, $var, $val);
 
print_r($data);
 
?>

Resultado:
Código:
Array (
 [color] => #000000
 [font] => mifont.ttf
 [web] => www.mipagina.com
)

uso:
Citar
<a style="color: <?php echo preg_replace('|[^A-Za-z0-9_,-]|i', '', $data['colo']); ?>; font: <?php echo preg_replace('|[^A-Za-z0-9_,-]|i', '', $data['font']); ?>;" href="<?php echo htmlspecialchars($data['web'], ENT_QUOTES); ?>"><?php echo htmlspecialchars($data['web'], ENT_QUOTES); ?></div>
En línea

Mi foro Ultra Off-Topics: http://whk.drawcoders.com/foro/

Gracias a todos! Good bye!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines