[Problema] Combinando Fopen con bucles for. ¿Donde están las variables?

Iniciado por ‭lipman, 6 Agosto 2008, 12:01 PM

0 Miembros y 1 Visitante están viendo este tema.

‭lipman

Aquí el código del problema

Código (php) [Seleccionar]
<?
$lol = fopen("omg.php", "a");
fputs($lol, "
<?
for ($a = 0 ; $a < 5 ; $a++)
{
echo 'bucle numero ';
echo $a;
echo '<br>';
}

?>
");
fclose($lol);
?>


Quiero que me genere una página (omg.php) y meter en ella un bucle en php. Cuando ejecuto este código no me da error, pero cuando me voy a la página omg.php que me ha generado SI que me da error. Además no entiendo lo que pasa.

Cuando abro la página omg.php me sale esto:

Código (php) [Seleccionar]
<?
for ( = 0 ;  < 5 ; ++)
{
echo 'bucle numero ';
echo ;
echo '<br>';
}

?>


¿Donde está la variable $a? Ha desaparecido...
Supongo que ese será el problema, pero no consigo dejar esa variable ahí para que me funcione el bucle.

He probado una tonteria que se me ha ocurrido, asignar a una variable $ejemplo un string de una palabra con el símbolo del dolar para poder intentarlo usar de variable, es decir, esto:

Código (php) [Seleccionar]

$ejemplo = "$a";
....

for (" . $ejemplo . " = 0 ; " . $ejemplo . " < 5 ; " . $ejemplo . "++)


Pero nada, el error continua.

¿Alguna idea de la solución?

Saludos

#!drvy

Código (php) [Seleccionar]
<?php
$lol 
fopen("omg.php""a");
fputs($lol'
<?php
for ($a=0;$a<5;$a++)
{
echo "bucle numero ";
echo $a;
echo "<br>";
}
 
?>

');
fclose($lol);
?>


Saludos

‭lipman

Juaz que simple que fue xD

Muchas gracias, me ha funcionado perfectamente  ;D

Saludoss

Teddy Picker

Es por las dobles comillas, interpretan que la lo que quieres poner es el contenido de la variable $a y no "$a", en cambio con las comillas simples no pasa eso... tambien hubieras podido:

Código (php) [Seleccionar]

<?
$lol = fopen("omg.php", "a");
fputs($lol, "
<?
for (\$a = 0 ; \$a < 5 ; \$a++)
{
echo 'bucle numero ';
echo \$a;
echo '<br>';
}

?>
");
fclose($lol);
?>

‭lipman

Eso explicaría porque el contenido estaba vacio. Muchas gracias por la explicación ^^ y por la idea de la barra =P