Regresar a la pgina www.ComoCrearTuWeb.com
Resultados 1 al 12 de 12

Tema: Utilizacin de la funcin include() o cmo transformar tu sitio en una plantilla

  1. #1
    Me va gustando esto... Habitante Avatar de Jeremas
    Fecha de Ingreso
    30 ene, 12
    Ubicacin
    San Francisco, Crdoba, Argentina
    Mensajes
    38
    Poder de Reputacin
    9

    Utilizacin de la funcin include() o cmo transformar tu sitio en una plantilla

    Hola Foreros!

    Les vengo a traer un "pequeo" tutorial sobre el uso de la funcin include() de php.

    Ayer le coment a un usuario que poda usar este tipo de funcin para no tener que cambiar el mismo texto en todos los archivos, como por ejemplo, la barra de copyright.

    En Php, tenemos dos formas de hacer "recursin" a un archivo externo (en otras palabras, leerlo), podemos bien usar funciones como fopen() y copiar lineas, o utilizar las funciones de inclusin: require() y include().

    A pesar de que fopen() tiene usos mucho mayores, el uso de include() podra permitirnos sin complicaciones, realizar nuestra propia plantilla.

    Porqu include y no require?
    Es una pregunta importante, la diferencia principal radica en que si hay algn error, include() contina mostrando una advertencia, y require() se detiene con un error total. Aunque en versiones anteriores esta diferencia era ms grave.
    Voy a explicarles como funciona include(), por cuestiones de practicidad y que hasta ahora no me produjo problemas.

    Mediante include(), podemos insertar en cualquier parte de nuestro documento, otro archivo externo, ya sea .php, .txt, .htm, etc.. Recomiendo encarecidamente, que al momento de incluir los archivos, estos tengan extensin .php, no importa si el contenido es texto llano o tiene formato.

    Pregunta 1:
    Por qu mi archivo "info.php" no se incluye dentro de "miarchivo.html"?
    Porque tu servidor no lo soporta, o est desactivado, normalmente se permite solo hacer un include() en archivos .php.
    Solucin: cambia la extensin de "miarchivo" a "miarchivo.php", es algo molesto a la hora de cambiar los links de todo el sitio, pero si continuas leyendo te dars cuenta que vas a poder hacerlo en "todo el sitio a la vez".

    Pregunta 2:
    Debo incluir slo archivos .php?
    No, pero es aconsejable, ya que incluyendo archivos .php, puedes dentro de ellos realizar tareas, como otro include().

    Pregunta 3:
    Escrib todo el script, en extensin .php pero no se incluye, Por qu?
    Lo ms probable es que ests haciendo las pruebas en local, recuerda que php slo funciona en servidores, ya sea en tu hosting, o si lo tienes instalado en tu pc.

    Pregunta 4:
    Cundo me vas a explicar como usar include()?
    Ahora, pero quera ahorrarte las dudas y el trabajo de encontrarte de que algo que no te funcione, :P.


    include():

    La funcin include() te permite incluir cualquier archivo de texto dentro de otro, por ejemplo:

    Cdigo:
    	index.php
    ___________________
    <html>
    
    Soy el contenido principal, puedes llamarme al numero <?php include("celular.txt"); ?>.
    
    </html>
    ___________________
    Cdigo:
    	celular.txt
    ___________________
    <b>123 456 789</b>
    ___________________

    Esto dara como resultado:
    Cdigo:
    	index.php
    ___________________
    <html>
    
    Soy el contenido principal, puedes llamarme al numero <b>123 456 789</b>.
    
    </html>
    ___________________

    En este ejemplo podemos observar dos cuestiones principales, si el contenido de la pgina es html, hay que abrir y cerrar las etiquetas de php: "<?php y ?>", la segunda, es el mtodo de insercin mediante: "include("celular.txt");", donde dentro de los prentesis se encuentra el nombre del archivo a incluir o la direccion completa. Tambin se puede reemplazar los parntesis por comillas simples, pero para evitar confusiones, dejemoslos. Ejemplos de esto ltimo seran:
    Cdigo:
    include ("../celular.txt");
    include 'celular.txt';
    include ("datos/celular.txt");
    Ntese que no importa la ruta del archivo, si la existe, ser incluido.

    Pregunta 5:
    Por qu utilizaste la etiqueta <b> en un .txt? Acaso no es cdigo html?
    S, pero recordemos que lo que include hace es insertar el contenido del archivo. Por lo que el "usuario final" de la etiqueta <b> es realmente el archivo index.php.

    Para ahorrar este tipo de problemas, utilicen siempre archivos .php al incluirlos, o sea:
    Cdigo:
    	index.php
    ___________________
    <html>
    
    Soy el contenido principal, puedes llamarme al numero <?php include("celular.php"); ?>.
    
    </html>
    ___________________

    De esta forma, dentro de "celular.php" podrn crear variables, incluir otros archivos, hacer consultas, y muchas otras cosas, que luego sern implementadas donde se haga la llamada include().


    Un ejemplo algo ms prctico:

    Supongamos que tenemos nuestra pgina web:

    Cdigo:
    ___________________index.php	
    <html>
    <body>
    
    <div id="superior">
    	<div id="cabecera">
    Mi pgina de animales
    	</div>
    
    	<div id="menu">
    Reptiles-Anfibios-Mamiferos
    	</div>
    </div>
    
    <div id="artculo">
    Artculo muy interesante sobre ballenas azules
    </div>
    
    <div id="pie">
    	<div id="copy">
    Copyright 2012, Jeremias Ramirez.
    	</div>
    	<div id="legal">
    Bajo licencia blab bla bla
    	</div>
    
    </div>
    
    </body>
    </html>
    ___________________
    Si tenemos mltiples archivos, por ejemplo index.php, ballenas.php, mamiferos.php, etc.. Lo que suceder es que los div "pie" y "superior", siempre se mantendrn iguales, cambiando solo el contenido del artculo en s.
    Entonces estamos leyendo nuestro men y nos damos cuenta que la palabra mamferos, no tena su tilde! Nuestra pgina tiene decenas de archivos con cada mamfero, habra que colocarle la tilde una por una, pasando por cada archivo, y para qu? si todos dirn lo mismo!
    La solucin a problemas como este, es utilizar desde el comienzo de la creacion de una web, la funcion include(). Veamos como podemos solucionar el problema de nuestro amigo:


    Creamos 2 archivos, supongamos los nombramos a uno superior.php y al otro pie.php (valga la claridad).
    Cdigo:
    ___________________superior.php
    
    <div id="superior">
    	<div id="cabecera">
    Mi pgina de animales
    	</div>
    
    	<div id="menu">
    Reptiles-Anfibios-Mamferos
    	</div>
    </div>
    
    ___________________
    Cdigo:
    ___________________pie.php
    
    <div id="pie">
    	<div id="copy">
    Copyright 2012, Jeremias Ramirez.
    	</div>
    	<div id="legal">
    Bajo licencia blab bla bla
    	</div>
    
    </div>
    
    ___________________
    Tenemos entonces ahora nuestro cdigo con el div correspondiente en archivos aparte, ahora veremos como modificar nuestra pgina principal:
    Cdigo:
    ___________________index.php	
    <html>
    <body>
    
    <?php include("superior.php"); ?>
    
    <div id="artculo">
    Artculo muy interesante sobre ballenas azules
    </div>
    
    
    <?php include("pie.php"); ?>
    </body>
    </html>
    ___________________
    De esta forma, tenemos que, en el lugar correcto, se insertar el cdigo correcto, quedando como antes (pero con la tilde corregida, :P):
    Cdigo:
    ___________________index.php	
    <html>
    <body>
    
    <div id="superior">
    	<div id="cabecera">
    Mi pgina de animales
    	</div>
    
    	<div id="menu">
    Reptiles-Anfibios-Mamferos
    	</div>
    </div>
    
    <div id="artculo">
    Artculo muy interesante sobre ballenas azules
    </div>
    
    <div id="pie">
    	<div id="copy">
    Copyright 2012, Jeremias Ramirez.
    	</div>
    	<div id="legal">
    Bajo licencia blab bla bla
    	</div>
    
    </div>
    
    </body>
    </html>
    ___________________
    Se dan cuenta de la capacidad de include()?

    Este es un ejemplo algo "burdo", pero la idea es mostrar como al modificar el archivo incluido, los datos se "actualizarn" en cada pgina en la que se est incluyendo,asi teniendo una web como index.php, contacto.php, informacion.php, y aplicando el mtodo de cambiar todo un div esttico por un archivo externo, al cambiar "pie.php", se veran los cambios realizados en todos nuestros archivos, Me doy a entender?

    Espero solamente no estar mareandolos, :P


    S que estn pensando en: "pero mi sitio tiene 26 pginas!, Voy a tener que cambiar todos los links para usar esto?".
    La respuesta es s, cada uno de sus 26 archivos tendrn que ser renombrados a .php, (a menos que con suerte, su servidor soporte la inclusin dentro de archivos .html ,lo que es genial, :P ), y por ende, los links dejarn de funcionar, pero veamos la realidad:

    -La mayora de los links, se encuentran donde el contenido es esttico, como menes.

    Cul es la solucin entonces? Si pensaron en usar un include(), van entendiendo la capacidad de esta funcin!

    Simplemente tendran que cambiar todos los links de su men una vez, y colocar todo dentro de un archivo aparte, entonces ahora, borran el viejo men de cada uno de sus 26 archivos, y es reemplazado por un hermoso <?php include("menu.php"); ?>, De esta forma, al necesitar agregar un nuevo elemento, no tendrn mas que modificar slo el archivo "menu.php", y el cambio se vera reflejado en toda la pgina. No es genial? Si! :D

    As, pueden crear plantillas para su sitio de manera muy completa y sencilla, realizando includes a cada una de las secciones de la pgina que se mantenga igual en todas las pginas.

    Pero el poder de un include() no muere ah, Recuerdan que les ped que utilizaran archivos .php como "menu.php"?

    Ahora metmonos dentro de este supuesto archivo menu.php.

    Cdigo:
    ___________________menu.php
    
    <codigo html de todo el menur>
    
    <?php 			//vamos a definir una variable cualquiera
    
    	$autor = "Jeremias Ramirez";
    
    ?>
    
    ___________________
    Podemos ver entonces que dentro de nuestro archivo, utilizamos una variable, esta variable, ser cargada una sla vez, y estar disponible en todo el sitio, Se comprende? Veamos un ejemplo:

    Cdigo:
    ___________________index.php
    
    <html>
    <?php include("superior.php"); ?>
    <?php include("menu.php"); ?>  //este archivo posee la variable $autor
    
    
    <div id="artculo">
    Artculo muy interesante sobre ballenas azules, escrito por <?php echo "$autor"; ?>.
    </div>
    
    <?php include("pie.php"); ?>
    
    
    ___________________
    
    >>Para los no iniciados en php, la funcion "echo" escribe en pantalla un texto, o en este caso, una variable.<<


    Lo cual quedara como:

    Cdigo:
    <div id="artculo">
    Artculo muy interesante sobre ballenas azules, escrito por Jeremias Ramirez.
    </div>
    Entonces, Podemos incluir un archivo con mucha informacin y utilizarla donde lo necesitemos? Si!

    Y esto tiene mltiples usos, como por ejemplo pasar urls largas que se utilicen seguido, fragmentos de texto, codigos de colores, etc.

    Bueno, no quiero seguir haciendoles leer, esto se hizo mucho ms largo de lo que crea, xD y el tema d para mucho ms, y siempre podrn encontrar ms informacion en la web, y que mejor que leer el articulo de quienes inventaron el include():

    http://php.net/manual/es/function.include.php


    Espero les haya resultado til, puedan aplicarlo, y les haya gustado, el artculo fue escrito en su totalidad por m, Jeremias Ramirez, AKA Jeremas, pueden copiarlo, venderlo, imprimirlo y quemarlo si lo desean, pero coloquen este post como fuente, ;)

    Cualquier cosa, no duden en preguntar, que tratar de responder a sus dudas. Si hay errores en el texto, sepan disculpar y mrquenmelo, que lo editar.

    Gracias por leer!
    Saludos y suerte!

    Atte: Jeremas

  2. #2
    Moderador CCTW Habitante Avatar de johnpeterjp
    Fecha de Ingreso
    13 abr, 06
    Ubicacin
    Santiago de Chile
    Mensajes
    3,181
    Poder de Reputacin
    32
    Muchas Gracias amigo Jeremas, estoy seguro que ste tutorial que nos dejas, ser de ayuda para muchos en el foro.

    Lo dejamos "Adherido" para su prosperidad. Saludos y muchas gracias.
    "Conocimiento es necesidad, necesidad es conocer lo que necesitamos"


  3. #3
    Moderador CCTW Habitante Avatar de johnpeterjp
    Fecha de Ingreso
    13 abr, 06
    Ubicacin
    Santiago de Chile
    Mensajes
    3,181
    Poder de Reputacin
    32
    Amigo Jeremas, tengo una pregunta para t... Podra usar un documento word dentro de un include ? O un texto con formato ?

    Te hago la pregunta ya que hace tiempo me intereza crear una seccin de Noticias o Novedades en una web pero que la pueda actualizar desde un editor de texto simple un usuario con cero conocimiento web. Me comprendes ?

    El amigo Doodleo estuvo trabajando en ello un poco, pero no finalmente abandon. Antecedo que probablemente no es un tipo de archivo compatible con navegadores, pero quizs al pasar por una funcin PHP haga el milagro. Je, je.

    Agradesco tu respuesta de antemano. Saludos.
    "Conocimiento es necesidad, necesidad es conocer lo que necesitamos"


  4. #4
    Esto empieza a ser un vicio... Habitante Avatar de spitfire2
    Fecha de Ingreso
    04 sep, 10
    Ubicacin
    ARGENTINA...!!!
    Mensajes
    750
    Poder de Reputacin
    14
    Muy bueno, no sabia que era mejor include() que require() , yo siempre usaba require() pero ahora me cambio a include() , saludos.

  5. #5
    Me va gustando esto... Habitante Avatar de Jeremas
    Fecha de Ingreso
    30 ene, 12
    Ubicacin
    San Francisco, Crdoba, Argentina
    Mensajes
    38
    Poder de Reputacin
    9
    Tengo mis dudas acerca de utilizar word en php... S que se pueden crear archivos .doc desde php, el tema es importarlos, o sea, realizar la inversa... Como algo sencillo, se que se podra cargar el texto de un .doc, pero no los formatos, por lo que seria lo mismo que usar un .txt...

    No pensaste en utilizar algun editor como el de el sistema para responder mensajes en los foros?
    Saludos y suerte!

    Atte: Jeremas

  6. #6
    Moderador CCTW Habitante Avatar de johnpeterjp
    Fecha de Ingreso
    13 abr, 06
    Ubicacin
    Santiago de Chile
    Mensajes
    3,181
    Poder de Reputacin
    32
    No pensaste en utilizar algun editor como el de el sistema para responder mensajes en los foros?
    Con ese editor sera perfecto pero no s como implementarlo. La idea principal en que estuvo trabajando, como te cont, Doodleo, era crear un panel sencillo para publicar contenido (texto+imgen) en un lugar especfico de un documento html o php. Como cuando escribes una "Entrada" en el panel de administracin en un blog y aparece publicada en la web.

    El concepto general es crear un sitio web con un apartado llamado por ejemplo "Novedades" y el dueo del sitio (cliente) pueda publicar contenidos fcilmente, accediendo a un panel (editor) fuera del mismo apartado novedades, a diferencia de un blog que est ah mismo.

    Saludos.
    "Conocimiento es necesidad, necesidad es conocer lo que necesitamos"


  7. #7
    Me va gustando esto... Habitante Avatar de Jeremas
    Fecha de Ingreso
    30 ene, 12
    Ubicacin
    San Francisco, Crdoba, Argentina
    Mensajes
    38
    Poder de Reputacin
    9
    Mirando el codigo del vBulletin, llegue hasta la fuente de este bello editor, no es de vB, es un proyeto Open Source llamado http://ckeditor.com.

    Miralo un poco, hasta maana no voy a tener tiempo de investigarlo, pero es gratis, y muy amplio...
    Saludos y suerte!

    Atte: Jeremas

  8. #8
    Moderador CCTW Habitante Avatar de johnpeterjp
    Fecha de Ingreso
    13 abr, 06
    Ubicacin
    Santiago de Chile
    Mensajes
    3,181
    Poder de Reputacin
    32
    Veo el editor y est perfecto. Lo que no s, es como integrar el resultado dentro de un lugar en la web. Por ejemplo que el resultado se muestre en un include. Gracias.
    "Conocimiento es necesidad, necesidad es conocer lo que necesitamos"


  9. #9
    Me va gustando esto... Habitante Avatar de Jeremas
    Fecha de Ingreso
    30 ene, 12
    Ubicacin
    San Francisco, Crdoba, Argentina
    Mensajes
    38
    Poder de Reputacin
    9
    Si, no me equivoco, al apretar el boton de "enviar", envia los datos a un variable, como si fuese un formulario, por lo que podras guardarlo con cualquier nombre, o directamente en un archivo que se aada a tus "noticias". Tengo un script que analiza el contenido de una carpeta, busca todaas las imagenes, las inserta, y coloca un link que tiene el mismo nombre que la imagen, calculo que podra editarse para el uso que queres darle, mientras tanto, sigo investigando, ;)
    Saludos y suerte!

    Atte: Jeremas

  10. #10
    Recien Llegado! Habitante
    Fecha de Ingreso
    26 mar, 09
    Mensajes
    18
    Poder de Reputacin
    13
    Gracias!
    ...tiene mucha utilidad. Ya habia leido a Jorgens con una explicacion mas sencilla y "no me funcionaba". La extension de mi archivo era .txt y solo la cambie por .php para que se ejecute sin problemas.

    Saludos

  11. #11
    Me va gustando esto... Habitante Avatar de Jeremas
    Fecha de Ingreso
    30 ene, 12
    Ubicacin
    San Francisco, Crdoba, Argentina
    Mensajes
    38
    Poder de Reputacin
    9
    Saludos a ti maelva, y gracias por leer!
    Saludos y suerte!

    Atte: Jeremas

  12. #12
    Recien Llegado! Merodeador
    Fecha de Ingreso
    14 mar, 13
    Mensajes
    4
    Poder de Reputacin
    0
    Muchas Gracias! Justo estaba buscando algo como esto para hacer un sitio web algo ms modular y manejable. Estaba explicado en CCTW pero no tan extenso. Esto es genial (:

Temas Similares

  1. TUTORIAL COMO USAR LA FUNCION PLANTILLA DE DREAMWEAVER
    Por Yaneth en el foro Dreamweaver
    Respuestas: 27
    ltimo Mensaje: 07/12/2013, 00:51
  2. como hacer un include en html?
    Por epinanab en el foro Scripts
    Respuestas: 17
    ltimo Mensaje: 29/03/2011, 14:44
  3. El men desplegable en una plantilla de Wordpress no funcion
    Por janderpola en el foro Foro General
    Respuestas: 0
    ltimo Mensaje: 19/01/2009, 16:17

Etiquetas para este Tema

Permisos de Publicacin

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •