Hola gente, necesito el apoyo de algún alma caritativa; tengo el siguiente problema.
Verán, estoy creando un archivo php desde otro php (con contenido a crear dentro del mismo). Al pesarle los valores que debe escribir en el otro "rotador.php"; luego al abrirlo a ese archivo desde un editor; la variable que debería haber copiado tal cual, ya no existe y me muestra un campo vacío.
Paso a explicar mi código:
add.html
Código HTML:
<form action="create.php" method="post">
<label>Seguro que quiere crear el directorio "campanias" <br />y el archivo php "rotador.php"?</label><p>
<input name="" type="submit" value="Si, Crear!!"/>
</form>
create.php
Código PHP:
<?php
//CREAMOS EL DIRECTORIO
//Verificamos si el directorio existe o no
$create_dir= 'campanias';/*Variable del directorio*/
$code = 'rotador';/*Variable del archivo*/
if(file_exists($create_dir)){
/*SI EXISTE, ENTONCES PASAMOS A CREAR EL PHP*/
/*PERO COMO SOLO SE CREARA UNA SOLA VEZ*/
/*LA CREAMOS SOLAMENTE CUANDO CREAMOS TMB EL DIRECTORIO*/
/*ADEMAS ACA YA TENGO UN CODIGO Q SE DEBE CREAR CADA VEZ QUE DOY DE ALTA*/
/*UNA NUEVA PUBLICIDAD EN UN NUEVO ARCHIVO A PARTE*/
}else{
//SI NO EXISTE, LA CREAMOS
if(!mkdir($create_dir, 0, true)){
}
/*CREAMOS EL ARCHIVO RANDOM!*/
$create_archiv_rand = "$create_dir/$code.php";/*Creamos el php*/
$escritura_archiv = fopen($create_archiv_rand,"a+");/*Le asignamos el modo [a+] para leer/escribir internamente*/
$escritura_archiv_int = '<?php
$carpeta = ".";/*Seleccionamos el directorio a recorrer actualmente*/
$dir = opendir($carpeta);/*Abrimos el directorio*/
while ($elemento = readdir($dir)){
if ($elemento != "." && $elemento != ".." && $elemento != "rotador.php"){/*Descartamos los ficheros que no nos interesa*/
$directorio[] = $elemento;
}
}
$campania_aleatoria = array_rand($directorio);/*Selecciono algun elemento del array al azar*/
echo "<iframe height="250" width="300" frameborder="0" scrolling="no" allowtransparency="true" src='$directorio[$campania_aleatoria]' hspace="2" vspace="2" marginheight="1" marginwidth="1"></iframe>";
closedir($dir);/*Cerramos el directorio*/
?>';/*Le decimos que es lo que escribira internamente en el php creado*/
$archivo_archiv = fwrite($escritura_archiv, $escritura_archiv_int);/*Comenzamos a escribirlo internamente*/
fclose($escritura_archiv);/*Cerramos finalmente el archivo creado y escrito*/
}
header("Location: rotador.php");
?>
Como han visto anteriormente arriba; estoy creando desde "create.php", el directorio "campanias" y el archivo random "rotador.php". Entonces el archivo de salida es el siguiente:
rotador.php
Código PHP:
<?php
$carpeta = ".";/*Seleccionamos el directorio a recorrer actualmente*/
$dir = opendir($carpeta);/*Abrimos el directorio*/
while ($elemento = readdir($dir)){
if ($elemento != "." && $elemento != ".." && $elemento != "rotador.php"){/*Descartamos los ficheros que no nos interesa*/
$directorio[] = $elemento;
}
}
$campania_aleatoria = array_rand($directorio);/*Selecciono algun elemento del array al azar*/
echo "<iframe height='250' width='300' frameborder='0' scrolling='no' allowtransparency='true' src='$directorio[$campania_aleatoria]' hspace='2' vspace='2' marginheight='1' marginwidth='1'></iframe>";
closedir($dir);/*Cerramos el directorio*/
?>
El codigo de arriba, es igual al que un usuario lo hubiera creado manualmente; pero en mi caso lo cree automaticamente desde el "create.php".
Bueno ahora mi problema, está en el <iframe></iframe> del archivo "rotador.php"
Como verán en este punto (del archivo "create.php", dentro de la variable "[COLOR="rgb(65, 105, 225)"]$escritura_archiv_int[/COLOR]"; esta este nombre:
src='$directorio[$campania_aleatoria]' (que pertenece a la dirección que apunta el iframe para randonizar los otros archivos del directorio).
Cuando se debe escribir en el "rotador.php", solamente me escribe esto en dnd debería estar la dirección del iframe
src=''
O sea, me desapareció
$directorio[$campania_aleatoria]
La pregunta es ¿como puedo hacer para q lo escriba tal cual yo lo estoy escribiendo?. Ya probé con escaparlo con "\", pero aun así me desaparece la variable cuando esta creado el rotador.