Creación de Archivos HTML dinámicos con PHP

  • Autor Autor Delmon
  • Fecha de inicio Fecha de inicio
Delmon

Delmon

Épsilon
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
Hola, que tal...
ando buscando hacer una web basada en php y quiero que me ayuden en algo...
Para no crear cientos de htmls en un editor y luego estar sbueindolos, ando buscando un codigo en php que pueda crear archivos html... en base a un codigo predefinido.

Les explico mejor...

El archivo a html seria por decir
<html>
<title><? echo $titulo?></title>
<body>
Bienvenido, a <? echo $titulo ?>, esperamos que disfrutes tu estadia.
Si gustas puedes descargar <? echo $titulo ?> del siguiente enlace:
<? echo $link ?>
</body>
</html>

ahora el form seria

<form id="creador" name="creador" method="post" action="añadir.php">
<p><input name="titulo" type="text" id="titulo" size="50" /></p>
<p><input name="link" type="text" id="link" size="50" /></p>
<p><input type="submit" name="submit" value="Enviar" /></p>
</form>

y el archivo añadir.php es el ke kisiera ke me ayuden o me corrijan si hasta ahora algo de lo mencionado esta mal. hasta ahora solo agregue el php asi.
<?php

$titulo = $_POST['titulo'];
$link = $_POST['link'];
$dominio = La Web
$crear = fopen("<? echo $titulo ?>.html","w+");
if($control == false){
die("No se ha podido crear el archivo.");

?>

Si algo hago mal corrijanme o ayudenme porfavor
 
Última edición:
Necesito mas informacion para poder ayudarte

Pero de lo que vi del codigo te diria, creo que te equivocaste en $control, porque no lo mencionas en ninguna parte del codigo, debe ser ahi $crear
 
La verdad antes de emplazar codigo, deberias proceder a plantear un algoritmo de lo que deberia hacer la aplicacion:

veamos

segun tu algoritmo se traduce asi:

usuario entra a la aplicacion->
presiona link de descarga->
descarga un archivo .html

en el segundo ejemplo tienes:

usuario ingresa a form->
rellena datos->
envía formulario->
recoges datos pasados por Post->
creas fichero .html....

a partir de aqui no he podido comprender qué deberia hacer la aplicacion.
 
Solo respóndeme algo:

¿Qué hace la página y qué hace el usuario en ella?
 
Hola, que tal...
ando buscando hacer una web basada en php y kiero que me ayuden en algo...
Para no crear cientos de htmls en un editor y luego estar sbueindolos, ando buscnado un codigo en php que pueda crear archivos html... en base a un codigo predefinido.

Les explico mejor...

El archivo a html seria por decir
<html>
<title><? echo $titulo?></title>
<body>
<script type="text/javascript"><!--
var _gaq = _gaq || [];
_gaq.push(
['_setAccount', 'UA-2125042-35'],
['_trackPageview']
);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
//-->
</script>

Bienvenido, a <? echo $titulo ?>, esperamos que disfrutes tu estadia.
Si gustas puedes descargar <? echo $titulo ?> del siguiente enlace:
<? echo $link ?>
</body>
</html>

ahora el form seria

<form id="creador" name="creador" method="post" action="añadir.php">
<p><input name="titulo" type="text" id="titulo" size="50" /></p>
<p><input name="link" type="text" id="link" size="50" /></p>
<p><input type="submit" name="submit" value="Enviar" /></p>
</form>

y el archivo añadir.php es el ke kisiera ke me ayuden o me corrijan si hasta ahora algo de lo mencionado esta mal. hasta ahora solo agregue el php asi.
<?php

$titulo = $_POST['titulo'];
$link = $_POST['link'];
$dominio = La Web
$crear = fopen("<? echo $titulo ?>.html","w+");
if($control == false){
die("No se ha podido crear el archivo.");

?>

Si algo hago mal corrijanme o ayudenme porfavor

Por ahi te sirve....
Modifica el archivo añadi.php

<?php
$nom="carpetaX\\".$titulo.".html";
$link="<a href='".$_POST["'link'"]."'>Link</a>";

$fp =fopen( "$nom", "w+" ); //creo el archivo

$write = fwrite($fp,$link,99999);



fclose($fp);

?>
 
Última edición:
Hola, que tal...
ando buscando hacer una web basada en php y kiero que me ayuden en algo...
Para no crear cientos de htmls en un editor y luego estar sbueindolos, ando buscnado un codigo en php que pueda crear archivos html... en base a un codigo predefinido.

Les explico mejor...

El archivo a html seria por decir
<html>
<title><? echo $titulo?></title>
<body>
<script type="text/javascript"><!--
var _gaq = _gaq || [];
_gaq.push(
['_setAccount', 'UA-2125042-35'],
['_trackPageview']
);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
//-->
</script>

Bienvenido, a <? echo $titulo ?>, esperamos que disfrutes tu estadia.
Si gustas puedes descargar <? echo $titulo ?> del siguiente enlace:
<? echo $link ?>
</body>
</html>

ahora el form seria

<form id="creador" name="creador" method="post" action="añadir.php">
<p><input name="titulo" type="text" id="titulo" size="50" /></p>
<p><input name="link" type="text" id="link" size="50" /></p>
<p><input type="submit" name="submit" value="Enviar" /></p>
</form>

y el archivo añadir.php es el ke kisiera ke me ayuden o me corrijan si hasta ahora algo de lo mencionado esta mal. hasta ahora solo agregue el php asi.
<?php

$titulo = $_POST['titulo'];
$link = $_POST['link'];
$dominio = La Web
$crear = fopen("<? echo $titulo ?>.html","w+");
if($control == false){
die("No se ha podido crear el archivo.");

?>

Si algo hago mal corrijanme o ayudenme porfavor

Perdona, en que quieres que te ayudemos?

1. Como dijeron "$control" nunca toma un valor, ni es declarada ni nada. No entiendo para que el if del final...
2. Con lo que tienes debes ya crear un archivo HTML con el nombre que alguien ponga en la casilla "titulo" del formulario. Ahora, si quieres escribir use fwrite() que es bien sencillo. Usa fclose() para cerrar el archivo.
3. En el if del final abres una llave y no la cierras. No es necesaria tampoco.

Bueno, en todo caso puedes aclarar que es lo que quieres y en que necesitas ayuda.

Saludos
 
Bueno tienen razon, me equivoque al no poner el algoritmo.

Les explico mas detalladamente... lo que quiero hacer es crear una web de videos, entonces... es demasiado fastidioso crear uno por uno cada archivo con los titulos, el link del video y esas cosas... asi que quiero un archivo php que cree los archivos .html para los videos... los archivos .html solo necesitan de modificarse el titulo, el link del video, y derrepente un comentario.

Me dejo entender?.

PD: El archivo creador... solo sera accedido por un admin, no es publico.
 
Última edición:
Pero si es asi, mejor trabaja con base de datos
insertas los datos a la db
los obtienes mediante php

te vas a ahorrar mucho trabajo a largo plazo
 
Pero si es asi, mejor trabaja con base de datos
insertas los datos a la db
los obtienes mediante php

te vas a ahorrar mucho trabajo a largo plazo

Jeje... lo malo es que soy muy novato para lo que es mysql con cosas asi.... si me pudieras dar una mano.
 
Crea una tabla asi
Insertar CODE, HTML o PHP:
CREATE TABLE `MiTabla` (
  `id` int not null auto_increment,
  `Titulo` varchar(75) collate utf8_spanish2_ci NOT NULL,
  `link` varchar(75) collate utf8_spanish2_ci NOT NULL,
  `hits` text collate utf8_spanish2_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci;
bueno eso seria mi codigo para la db
 
Crea una tabla asi
Insertar CODE, HTML o PHP:
CREATE TABLE `MiTabla` (
  `id` int not null auto_increment,
  `Titulo` varchar(75) collate utf8_spanish2_ci NOT NULL,
  `link` varchar(75) collate utf8_spanish2_ci NOT NULL,
  `hits` text collate utf8_spanish2_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci;
bueno eso seria mi codigo para la db

Jeje... weno eso es lo facil... ahora me explicas mejor como hacer el form... y como crear los archivos html?...

Lo que busco es hacer el trabajo mas facil creando archivos html desde 1 solo php ... todo online.



Por otra parte...
Insertar CODE, HTML o PHP:
<?php
	$nombre = $_POST['nombre'];
	$titulo = $_POST['titulo'];
	$link = $_POST['link'];
	$tabla="<html>
	<title><?php echo $titulo; ?></title>
	<body>
	Hola, bienvenido a <?php echo $titulo; ?>.<br><br>
<br>
Puedes descargar desde le siguiente enlace:
<?php echo $link; ?>
	</body>";
	
$nom="".$nombre.".html";
$fp =fopen( "$nom", "w+" ); //creo el archivo
$write = fwrite($fp,$tabla); 
fclose($fp);

if(!file_exists($nom)) die("Error en la Generacion del Archivo");
?>

Eso esta bieN?
 
Última edición:
Debes crear un archivo de Conexion con la base de datos

Este codigo te puede servir para insertar los datos

<?
include ('Conexion.php');


$titulo = $_POST['titulo'];
$link = $_POST['link'];

mysql_query("INSERT INTO MiTabla(Titulo,link,hits) VALUES ('$titulo','$link','1')");

?>

creo que ese seria el a;adir.php

Por eso te sugierion arriba que primero tienes que organizarte

Archivos

Formulario.php ++ Creo que ya esta elaborado
A;adir.php ++ Te lo envie el codigo arriba
Conexion.php ++ el archivo de tu base de datos,usario,pass,etc
Otroarchivo.php ++ donde mostraras los datos de la base de datos segun lo que se solicite

No se me ocurren mas por el momento
 
Última edición:
Debes crear un archivo de Conexion con la base de datos

Este codigo te puede servir para insertar los datos

<?
include ('Conexion.php');


$titulo = $_POST['titulo'];
$link = $_POST['link'];

mysql_query("INSERT INTO MiTabla(Titulo,link,hits) VALUES ('$titulo','$link','1')");

?>

creo que ese seria el a;adir.php

Por eso te sugierion arriba que primero tienes que organizarte

Archivos

Formulario.php ++ Creo que ya esta elaborado
A;adir.php ++ Te lo envie el codigo arriba
Conexion.php ++ el archivo de tu base de datos,usario,pass,etc
Otroarchivo.php ++ donde mostraras los datos de la base de datos segun lo que se solicite

No se me ocurren mas por el momento

Gracias por tu ayuda amigo... pero lo que no veo hasta ahora es la creacion de los archivos en el directorio... :$
 
Última edición:
Gracias amigos... ia pude arreglar todo.

Espero poder ayudarlos con lo poco que se.

Gracias!!!
 
Última edición:
Atrás
Arriba