Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: HumbertoV en 25 de Septiembre 2015, 19:44
-
Hola: esto se me ha ocurrido a partir de Entrega nº36 del Tutorial básico del programador web: PHP desde cero de aprenderaprogramar.com
No se si es posible. Soy principiante y no se si lo que quiero se puede hacer.
Quiero crear un script que cree páginas HTML y a su vez incluya dentro de cada una el menú que lleva a cada una de las páginas.
No consigo la sintaxis en para que una función cree los menús dentro de cada página creada en "fputs". ¿Es posible hacerlo?
Os dejo el código... y gracias de antemano por las molestias.
$array=array(1=>"Inicio", "Menu2", "Menu3");
$n = count($array);
function crearMenu ($array) {
global $array;
echo "<ul>";
foreach ($array as $paginas) {
echo "<li style='list-style-type:none'><a href='" . $paginas . ".html'>" . $paginas . "</a></li>";
}
}
function CrearPagina($array) {
global $array;
foreach ($array as $paginas) {
$Crear = fopen($paginas . ".html" , "w");
fputs($Crear, "
<!DOCTYPE htm>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
<title>" . $paginas . "</title>
</head>
<body>" .
//Aquí no se hacer que se ejecute la función: crearMenu ($array) .
"</body>
</html>" );
}
fclose($Crear);
}
CrearPagina($array);
-
Hola HumbertoV, es la primara vez que hago esto y capaz que mi resolucion sea un poco ortodoxa. Pero bueno esta es una de las tantas forma que se podria hacer.
<?php
function crearPagina ($nombrePagina, $nombreMenu) {
//recorro con el bucle el array $nobmrePagina.
for($i = 0; $i < count($nombrePagina); $i++) {
$crear = fopen($nombrePagina[$i].'.html', 'w') or die('Problema con la creacion');
fputs($crear,
'<html>
<head>
<title>
</title>
</head>
<body>
<ul>');
fputs($crear, "\n");
//recorro con el bucle el array $nombreMenu y llamo a la funcion crearMenu para pinte los menu
for($j = 0; $j < count($nombreMenu); $j++) {
crearMenu($crear, $nombrePagina[$j], $nombreMenu[$j]);
}
fputs($crear,
' </ul>
</body>
</html>');
//cada vuelta quede el primer bucle que recorre alas pagina cierro.
fclose($crear);
}
//Pinto la Primera Pagina...
$pintarPagina = fopen($nombrePagina[1].'.html', 'r');
while(!feof($pintarPagina)) {
$linea = fgets($pintarPagina);
echo $linea;
}
fclose($pintarPagina);
}
function crearMenu($ref, $pagina, $menu) {
fputs($ref, "\t\t\t");
fputs($ref,
'<li><a href="'.$pagina.'.html">'.$menu.'</a></li>'
);
fputs($ref, "\n");
}
$nombrePagina = array('Pagina1', 'Pagina2', 'Pagina3', 'Pagina4', 'Pagina5');
$nombreMenu = array('Menu1', 'Menu2', 'Menu3', 'Menu4', 'Menu5');
$pagina = crearPagina($nombrePagina, $nombreMenu);
?>
¡Saludos!.
-
Gracias Gonza. Le echo un vistazo.