<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3630610963710169352</id><updated>2024-08-29T15:37:33.096-07:00</updated><category term="notas php"/><category term="php simple"/><category term="recomendaciones php"/><category term="scripts php"/><category term="tutorial"/><category term="MVC"/><category term="POO"/><category term="instalador con php"/><category term="seguridad php"/><title type='text'>notas php</title><subtitle type='html'>En el blog publicaremos notas sobre scripts php, podras encontrar publicaciones de scripts, notas, entrevistas, filosofía de la programación y mas sobre php</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://notas-php.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3630610963710169352/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://notas-php.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mauricio José Tobares</name><uri>http://www.blogger.com/profile/10457805957532278270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3630610963710169352.post-3139029612670628196</id><published>2014-07-01T04:31:00.000-07:00</published><updated>2020-03-19T04:37:40.296-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="instalador con php"/><category scheme="http://www.blogger.com/atom/ns#" term="notas php"/><category scheme="http://www.blogger.com/atom/ns#" term="php simple"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><title type='text'>crear instalador con php</title><content type='html'>&lt;h2 style=&quot;text-align: center;&quot;&gt;

&lt;b&gt;crear instalador con php&lt;/b&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/h2&gt;
&lt;h4 style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;(parte I)&lt;/b&gt;&lt;/h4&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
En esta primera parte intentaré explicar lo mas simple posible como hacer un instalador con php y MySQL, este ejemplo MUY SIMPLE servirá para un pequeño script y solo registrará un nombre en una base de datos MySQL.&lt;br /&gt;
Este pequeño experimento lo dividí en 4 pasos para que sea lo mas claro posible (aunque se puede hacer solamente en 1 archivo pero para que sea lo mas claro posible lo dividí en 4 diferentes archivos).&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Para comenzar serán necesarios los siguientes pasos:&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
1.- Creación del archivo de configuración&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
2.- Creación del instalador&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
3.- Registrar datos de ejemplo&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
4.- Recuperar datos registrados&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
desde luego que este script es solo a modo ilustrativo y se debe expandir muchisimo para que sea utilizable en un script real, tampoco es la única forma que se puede hacer un instalador en php pero es la mas simple que conseguí para hacer este ejemplo, en un futuro haré uno mas complejo.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
comencemos!!&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
1.- Creación del archivo de configuración:&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Este script lo que hará es encargarse de crear el archivo de configuración con el que podremos conectarnos a la base de datos (el típico caso del archivo config.php)&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;index.php:&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;i&gt;&lt;br /&gt;if (!isset($_POST[enviar])) {&lt;br /&gt;&amp;nbsp; if(!file_exists(&quot;config.php&quot;)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; define(&#39;DB_HOST&#39;,&#39;&#39;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; define(&#39;DB_USER&#39;,&#39;&#39;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; define(&#39;DB_PASS&#39;,&#39;&#39;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; define(&#39;DB_NAME&#39;,&#39;&#39;);&lt;br /&gt;// Si no se incluye el archivo se ponen las variables a 0 (el archivo se creara automaticamente)&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; include(&quot;config.php&quot;);&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;?&amp;gt;&lt;br /&gt;&amp;lt;form action=&quot;&amp;lt;?php echo $_SERVER[PHP_SELF] ?&amp;gt;&quot; method=&quot;post&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; HOST: &amp;lt;input type=&quot;text&quot; name=&quot;db_host&quot; value=&quot;&amp;lt;?php echo DB_HOST ?&amp;gt;&quot; /&amp;gt; (ej: localhost)&amp;lt;br /&amp;gt;&lt;br /&gt;&amp;nbsp; USER: &amp;lt;input type=&quot;text&quot; name=&quot;db_user&quot; value=&quot;&amp;lt;?php echo DB_USER ?&amp;gt;&quot; /&amp;gt; (usuario MySQL)&amp;lt;br /&amp;gt;&lt;br /&gt;&amp;nbsp; PASS: &amp;lt;input type=&quot;password&quot; name=&quot;db_pass&quot; value=&quot;&amp;lt;?php echo DB_PASS ?&amp;gt;&quot; /&amp;gt; (clave del usuario MySQL)&amp;lt;br /&amp;gt;&lt;br /&gt;&amp;nbsp; NAME: &amp;lt;input type=&quot;text&quot; name=&quot;db_name&quot; value=&quot;&amp;lt;?php echo DB_NAME ?&amp;gt;&quot; /&amp;gt; (Nombre de la base de datos)&amp;lt;br /&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;input type=&quot;submit&quot; name=&quot;enviar&quot; value=&quot;Guardar&quot; /&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;// El contenido del archivo&lt;br /&gt;&amp;nbsp; $contenido = &quot;&amp;lt;?php \n&quot;;&lt;br /&gt;&amp;nbsp; $contenido .= &quot;define(&#39;DB_HOST&#39;,&#39;&quot; .$_POST[&#39;db_host&#39;].&quot;&#39;); \n&quot;;&lt;br /&gt;&amp;nbsp; $contenido .= &quot;define(&#39;DB_USER&#39;,&#39;&quot; .$_POST[&#39;db_user&#39;]. &quot;&#39;); \n&quot;;&lt;br /&gt;&amp;nbsp; $contenido .= &quot;define(&#39;DB_PASS&#39;,&#39;&quot; .$_POST[&#39;db_pass&#39;]. &quot;&#39;); \n&quot;;&lt;br /&gt;&amp;nbsp; $contenido .= &quot;define(&#39;DB_NAME&#39;,&#39;&quot; .$_POST[&#39;db_name&#39;]. &quot;&#39;); \n&quot;;&lt;br /&gt;&amp;nbsp; $contenido .= &quot;?&amp;gt;&quot;;&lt;br /&gt;&lt;br /&gt;// Se abre el archivo (si no existe se crea)&lt;br /&gt;&amp;nbsp; $archivo = fopen(&#39;config.php&#39;, &#39;w&#39;);&lt;br /&gt;&amp;nbsp; $error = 0;&lt;br /&gt;&amp;nbsp; if (!isset($archivo)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $error = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &quot;No se ha podido crear/abrir el archivo.&amp;lt;br /&amp;gt;&quot;;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; elseif (!fwrite($archivo, $contenido)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $error = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &quot;No se ha podido escribir en el archivo.&amp;lt;br /&amp;gt;&quot;;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; fclose();&lt;br /&gt;&amp;nbsp; if ($error == 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; require &#39;config.php&#39;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h3&amp;gt;DATOS DE CONEXI&amp;amp;Oacute;N&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p&amp;gt;DB HOST: &quot; .DB_HOST. &quot;&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p&amp;gt;DB USER: &quot; .DB_USER. &quot;&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p&amp;gt;DB PASS: &quot; .DB_PASS. &quot;&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p&amp;gt;DB NAME: &quot; .DB_NAME. &quot;&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a href=\&quot;install.php\&quot;&amp;gt;siguiente&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; text-align: left;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: black; font-family: inherit; font-size: small;&quot;&gt;Ahora vamos a pasar al script que instala la tabla que se necesita en la base de datos (obviamente la base de datos hay que crearla desde el PHPMyAdmin) y se llamará de la misma forma que pongamos en el formulario inicial en DB_NAME.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: black; font-family: inherit; font-size: small;&quot;&gt;Ahora bien, por motivos prácticos la base de datos que yo creé se llama &quot;ejemplo&quot; y la tabla se llama &quot;nombres&quot; ya que solo vamos a poner un id auto incremental y un campo nombres con característica unique pero esto se puede modificar.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: black; font-family: inherit; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: black; font-family: inherit; font-size: small;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;color: #666666; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: black;&quot;&gt;install.php:&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: black; font-family: inherit; font-size: small;&quot;&gt;&lt;span style=&quot;color: #666666; font-size: x-small;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;//incluimos el archivo con las configuraciones que introdujimos en el formulario&lt;br /&gt;include (&quot;config.php&quot;);&lt;br /&gt;// conectamos al servidor mysql&lt;br /&gt;$link = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die (&quot;Could not connect to mysql because &quot;.mysql_error());&lt;br /&gt;// seleccionamos la base de datos&lt;br /&gt;mysql_select_db(DB_NAME) or die (&quot;Could not select database because &quot;.mysql_error());&lt;br /&gt;// creamos las tablas necesarias en la base de datos&lt;br /&gt;$create = &quot;create table `nombres` (&lt;br /&gt;&amp;nbsp; `id` int(11) NOT NULL auto_increment,&lt;br /&gt;&amp;nbsp; `nombre` varchar(30) NOT NULL default &#39;&#39;,&lt;br /&gt;PRIMARY KEY (id),&lt;br /&gt;UNIQUE KEY nombre (nombre) );&quot;;&lt;br /&gt;mysql_query($create) or die (&quot;Could not create tables because &quot;.mysql_error());&lt;br /&gt;echo &quot;La instalaci&amp;amp;oacute;n se realiz&amp;amp;oacute; con &amp;amp;eacute;xito.&quot;;&lt;br /&gt;// eso fue todo :D&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: black; font-family: inherit; font-size: small;&quot;&gt;&lt;span style=&quot;color: #666666; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;Hasta aquí esta primera parte donde creamos los 2 archivos mas importantes que son el formulario desde donde se insertan los valores de configuración para poder conectarse a la base de datos y el archivo que registra nuestra hermosa tabla en la base de datos, en la proxima parte mostraré como registrar un nombre en la base de datos y recuperar los nombres que haya registrados.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: black; font-family: inherit; font-size: small;&quot;&gt;&lt;span style=&quot;color: #666666; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;Hasta la proxima parte y gracias por tu tiempo! &lt;/span&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://notas-php.blogspot.com/feeds/3139029612670628196/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://notas-php.blogspot.com/2014/07/crear-instalador-con-php.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3630610963710169352/posts/default/3139029612670628196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3630610963710169352/posts/default/3139029612670628196'/><link rel='alternate' type='text/html' href='http://notas-php.blogspot.com/2014/07/crear-instalador-con-php.html' title='crear instalador con php'/><author><name>Mauricio José Tobares</name><uri>http://www.blogger.com/profile/10457805957532278270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3630610963710169352.post-8448243398307055603</id><published>2013-05-05T07:44:00.000-07:00</published><updated>2020-03-19T04:39:55.373-07:00</updated><title type='text'>Como incluir una configuración en el documento y en un config.php al mismo tiempo</title><content type='html'>Como indica el título en esta ocación voy a mostrar una curiosidad que tal vez para muchos sea totalmente natural o normal su uso pero no para quienes andan empezando y no conocen como se podría hacer esto&lt;br /&gt;
&lt;br /&gt;
la forma normal de incluir las constantes de configuración (por ejemplo en los datos de una conexión a la base de datos) es a travez de un archivo incluido (include´config.php&#39; o algo asi...) pero tambien podríamos incluirlo dentro del propio archivo donde tenemos la conexión... entonces... ¿por que no tener las 2 posibilidades a la vez?, esto es posible a travez de este pequeño código:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; include &#39;tu_archivo_externo.php&#39;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; defined(&#39;DB_HOST&#39;) or define(&#39;DB_HOST&#39;, &#39;tu_servidor&#39;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; defined(&#39;DB_USER&#39;) or define(&#39;DB_USER&#39;, &#39;tu_usuario&#39;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; defined(&#39;DB_PASS&#39;) or define(&#39;DB_PASS&#39;, &#39;tu_clave&#39;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; defined(&#39;DB_NAME&#39;) or define(&#39;DB_NAME&#39;, &#39;nombre_de_tu_db&#39;);&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
El código es bastante simple de explicar, si esta definida la constante carga la constante y si no está definida LA DEFINE!! osea.... linea por linea y letra por letra sería esto:&lt;i&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/i&gt;defined(&#39;DB_HOST&#39;)&lt;/i&gt;&lt;br /&gt;
Lo que hace es mirar si está definida la constante &lt;i&gt;DB_HOST&lt;/i&gt;, si no lo está entonces &lt;i&gt;DB_HOST&lt;/i&gt; toma el valor de:&lt;br /&gt;
&lt;i&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/i&gt;or define(&#39;DB_HOST&#39;, &#39;tu_servidor&#39;);&lt;/i&gt;&lt;br /&gt;
Así lo hace con el resto de las líneas, luego como las utilice es otro cuento... se puede utilizar para ua conexión a base de datos o podrían ser otro tipo de valores, en este ejemplo traigo los valores genéricos de una conexión a una base de datos porque era lo que tenía a mano pero podría ser con cualquier otro tipo de datos que uno debiera utilizar&lt;br /&gt;
&lt;i&gt; &lt;/i&gt;&lt;br /&gt;
Espero les sirva y hasta un próximo artículo!!&lt;i&gt;&lt;/i&gt;</content><link rel='replies' type='application/atom+xml' href='http://notas-php.blogspot.com/feeds/8448243398307055603/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://notas-php.blogspot.com/2013/05/como-incluir-una-configuracion-en-el.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3630610963710169352/posts/default/8448243398307055603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3630610963710169352/posts/default/8448243398307055603'/><link rel='alternate' type='text/html' href='http://notas-php.blogspot.com/2013/05/como-incluir-una-configuracion-en-el.html' title='Como incluir una configuración en el documento y en un config.php al mismo tiempo'/><author><name>Mauricio José Tobares</name><uri>http://www.blogger.com/profile/10457805957532278270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3630610963710169352.post-4184737405169738061</id><published>2012-05-30T22:42:00.002-07:00</published><updated>2020-03-19T04:39:14.151-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="notas php"/><category scheme="http://www.blogger.com/atom/ns#" term="php simple"/><category scheme="http://www.blogger.com/atom/ns#" term="recomendaciones php"/><category scheme="http://www.blogger.com/atom/ns#" term="scripts php"/><category scheme="http://www.blogger.com/atom/ns#" term="seguridad php"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><title type='text'>Limitar acceso por URL</title><content type='html'>&lt;h2 style=&quot;text-align: center;&quot;&gt;



Limitar acceso por url&lt;/h2&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Hay veces en las que queremos limitar el acceso por url, por ejemplo cuando tenemos un index y desde el tomamos varias secciones de código desde otros documentos pero no queremos que esos otros documentos sean accesibles de forma directa, no siempre encontramos la forma y en esta ocasión les traigo una de las tantas formas aunque no sea la única pero que resulta bastante útil y rápida de realizar.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
En principio en el documento que incluye a los restantes documentos sea el index.php o el que sea (mediante include o require o como sea que se traiga la información) debe colocarse lo siguiente:&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;lt;?php&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;define(&quot;_access&quot;, TRUE);&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Ahora para las páginas que queramos proteger se debe colocar lo siguiente:&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;i&gt;&amp;lt;?php&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;i&gt;if(!defined(&quot;_access&quot;)) {&lt;br /&gt;&amp;nbsp; die(&quot;Error: No tienes permiso para acceder aqu&amp;amp;iacute;...&quot;);&lt;br /&gt;}&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;i&gt;?&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Lo anterior sirve para asignar un valor vacío (o FALSE) y esto indica que SI el valor es falso entonces detiene el script y muestra el mensaje de error diciendole que no tiene autorización para ver ese documento, se que hay muchas formas de hacer esto, algunas con clases que tienen todo un arsenal de seguridad y otras que son bastante simples y básicas como es simplemente decirle al incauto visitante VOS NO TENES PERMISO PARA VER ESTO y listo...&lt;br /&gt;
&lt;br /&gt;
En ocasiones la simplicidad de un script hace que se vuelvan mucho mas comprensibles a la hora de desarrollar un programa y no complicarse la vida con, por ejemplo, sistemas muy pesados o que requieran demasiados procesos para hacer lo mismo que se logra con estas 3 simples lineas de código, una que le dice que &quot;si&quot;  puede ver el documento y otra que le dice que no y le muestra un mensaje al respecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Este script se podría personalizar reemplazando &quot;die&quot; por un &quot;header&quot; para redirigir al visitante a una página de error personalizada o también se podría agregar el html directamente dentro de &quot;die(&quot;aca todo el html que se te antoje&quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bien, esto fué todo por hoy, espero la próxima traer algo de mayor interes!!</content><link rel='replies' type='application/atom+xml' href='http://notas-php.blogspot.com/feeds/4184737405169738061/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://notas-php.blogspot.com/2012/05/limitar-acceso-por-url.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3630610963710169352/posts/default/4184737405169738061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3630610963710169352/posts/default/4184737405169738061'/><link rel='alternate' type='text/html' href='http://notas-php.blogspot.com/2012/05/limitar-acceso-por-url.html' title='Limitar acceso por URL'/><author><name>Mauricio José Tobares</name><uri>http://www.blogger.com/profile/10457805957532278270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3630610963710169352.post-21477541087366276</id><published>2012-05-19T09:21:00.002-07:00</published><updated>2020-03-19T04:38:51.641-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MVC"/><category scheme="http://www.blogger.com/atom/ns#" term="notas php"/><category scheme="http://www.blogger.com/atom/ns#" term="POO"/><title type='text'>poo php y mvc</title><content type='html'>&lt;div style=&quot;text-align: center;&quot;&gt;
POO PHP Y MVC&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Hace unos meses estoy incursionando mucho en un patrón de diseño llamado MVC, después de haber aprendido muchas cosas sobre lo que es un patrón de diseño caigo en la cuenta de que aprendí lo básico de la programación orientada a objetos y me decidí a incursionar aún mas sobre este tema atrapante y misterioso llamado POO...&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Ahora me encuentro con una &quot;RECETA DEL POSTRE PERFECTO&quot; como me gusta llamarlo, no entiendo mucho de diseño gráfico y el mantener lejos el código del diseño me facilita muchisimo las cosas por lo que MVC me representa una clara facilidad de mantenerme LEJOS del diseño como si me diera alergia o algo por el estilo y tener mayor posibilidad de hacer ALGO sin luchar demaciado de la parte visual.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Luego de haber aprendido los &quot;como y porque&quot; del patrón de diseño MVC me di cuenta que no era muy fácil extender el script a menos que incursionara en singleton y otras cosas que yo, al ser un pobre NEÓFITO en la materia no entendía muy bien pero me encontré con algo llamado clase... casualmente el fuerte de la orientación a objetos es el utilizar clases y objetos y extender clases me resultó particularmente extraño pero a la vez ÚTIL por lo que lo fui incorporando a mis conocimientos y me ayudó, por fin, a comprender MVC desde adentro y no solo PARA QUE SIRVE sino COMO FUNCIONA y ahí es donde viene la otra parte super interesante que es tener mas posibilidades dentro del script a crear y me di cuenta que simplemente extendiendo las clases se logran muchas cosas y no se rompe el patrón de diseño... antes los controladores (por no saber) los hacia simplemente con funciones que llamaban métodos de clases pero de a poco fui tomando nuevos conocimientos y me di cuenta del potente script que estaba generando... la pregunta es... POO lenguaje PHP y patrón de diseño MVC...&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
¿SON LA RECETA PERFECTA?&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://notas-php.blogspot.com/feeds/21477541087366276/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://notas-php.blogspot.com/2012/05/poo-php-y-mvc.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3630610963710169352/posts/default/21477541087366276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3630610963710169352/posts/default/21477541087366276'/><link rel='alternate' type='text/html' href='http://notas-php.blogspot.com/2012/05/poo-php-y-mvc.html' title='poo php y mvc'/><author><name>Mauricio José Tobares</name><uri>http://www.blogger.com/profile/10457805957532278270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3630610963710169352.post-6344951916379277777</id><published>2012-05-01T13:03:00.000-07:00</published><updated>2020-03-19T04:38:38.968-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="notas php"/><category scheme="http://www.blogger.com/atom/ns#" term="php simple"/><category scheme="http://www.blogger.com/atom/ns#" term="recomendaciones php"/><title type='text'>Login en PHP</title><content type='html'>&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;h2&gt;



&lt;span style=&quot;font-size: large;&quot;&gt;Login en php - Características deseables:&lt;/span&gt;&lt;/h2&gt;
&lt;/div&gt;
Ayer hablando con un amigo le pregunté sobre ¿¿QUE PUEDO ESCRIBIR??, este buen amigo mio me dijo &quot;...toba, colgate un buen sistema de logueo...&quot;, pero como no tengo ninguno a mano que esté 100% funcional se me ocurrió enumerar algunas características &quot;deseables&quot; en todo sistema de login que se merezca mis respetos (en si, que es lo que yo desearía para un sistema completo de registro de usuarios).&lt;br /&gt;
&lt;br /&gt;
En primer lugar lo mas deseable por un diseñador no es lo mas deseable por un programador, por ejemplo un programador ni se fija si el formulario queda lindo o feo... o si queda bien encuadrado en su lugar o si utilizar un checkbox o un select, sino que se fija en determinadas características que todo sistema de login debe tener (al menos bajo mi punto de vista).&lt;br /&gt;
&lt;br /&gt;
Es bajo el enfoque de un programador que voy a realizar este post tratando de enumerar características deseables de un sistema de logueo.&lt;br /&gt;
&lt;br /&gt;
&lt;style type=&quot;text/css&quot;&gt;
 &lt;!--
  @page { margin: 2cm }
  P { margin-bottom: 0.21cm }
  A:link { so-language: zxx }
 --&gt;
 
&lt;/style&gt;

1.- Ingreso mediante correo electrónico o usuarios segun el
usuario quiera loguearse con su correo o con su nombre de usuario.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.- encriptado de claves seguro (si es doble encriptado y
utilizando semillas es mucho mejor).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3.- Activación de cuentas por email y/o número ID.&lt;br /&gt;
&lt;br /&gt;
4.- Recuperación de contraseña facilmente mediante el ingreso de
usuario y/o correo electrónico y que envíe un correo electrónico
de reactivación previo cambiar la clave por una clave aleatoria y
asignar un código de activación/reactivación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5.- La conexión a la base de datos debe realizarse mediante una
clase abstracta ya que nunca se sabe cuando será necesario cambiar
nuestro servidor de bases de datos).&lt;br /&gt;
(gracias GRAN &quot;J&quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6.- Los datos que vienen por el formulario (vía POST o GET) deben
ser correctamente filtrados para proteger de inyecciones de código
sql etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7.- Debe contar con una buena comprobación pero sin exederse para
no ralentizar el proceso de registro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8.- Si el sistema contendrá un perfil de usuarios, el registro
debe ser lo mas simple posible para que luego sea el propio usuario
quien actualice sus datos y no cometer el error de obtener todos los
datos posible desde el registro ya que eso tiene desventajas y la
principal es el tiempo que tardan en ser registrados los datos del
usuario(esto por el proceso de filtrado y comprobaciones etc etc).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9.- También debe contar con un buen sistema de envío de email ya
que no todos los hostings aceptan o mejor dicho no todos tienen
habilitado ese servicio desde el servidor por lo que el sistema debe
contar con algun sistema tipo phpMailer o parecido para asegurarnos
de que &quot;A PESAR&quot; que el hosting no tenga habilitadas las
características de email nosotros podamos enviar igual los correos
de activación/recuperación y que podamos estar seguros de que llegan de la forma correcta sin sobresaltos (esto debe ser testeado ampliamente antes de er utilizado porque despues nos encontramos con problemas como que los correos los envian directo a la carpeta de no deseados)&lt;br /&gt;
&lt;br /&gt;
Bueno, creo que esta listita de características deseables en un sistema de login en php son lo mas descriptivo que logré hacer, de echo me dijeron que para que quiero una clase abstracta si solo utilizo MySQL a lo que yo respondo que siempre hay algun marciano o algun androyde jeje&lt;br /&gt;
&lt;br /&gt;
bien, espero alguna otra sugerencia si es que me olvidé de algo y ojala resulte útil esta listita para quien quiera crear un buen sistema de logueo que tenga en cuenta estas características a la hora de crearlo, se que pueden haber muchas mas características pero no se me ocurrieron!!</content><link rel='replies' type='application/atom+xml' href='http://notas-php.blogspot.com/feeds/6344951916379277777/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://notas-php.blogspot.com/2012/05/login-en-php-caracteristicas-deseables.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3630610963710169352/posts/default/6344951916379277777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3630610963710169352/posts/default/6344951916379277777'/><link rel='alternate' type='text/html' href='http://notas-php.blogspot.com/2012/05/login-en-php-caracteristicas-deseables.html' title='Login en PHP'/><author><name>Mauricio José Tobares</name><uri>http://www.blogger.com/profile/10457805957532278270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3630610963710169352.post-1578452860887089896</id><published>2012-04-25T22:39:00.001-07:00</published><updated>2020-03-19T04:38:18.248-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="scripts php"/><title type='text'>include masiva con php</title><content type='html'>&lt;h2 style=&quot;text-align: center;&quot;&gt;



&lt;i&gt;include masivo con php&lt;/i&gt; &lt;/h2&gt;
Hacer include de clases o documentos o lo que fuera necesario en php a veces se puede volver un trabajo bastante complicado o no tan complicado pero cuando se tienen muchos archivos para incluir es bastante engorroso tener que &quot;uno a uno&quot; ir haciendo include tras include hasta haber incluido en el lugar necesario todos los documentos necesarios&lt;br /&gt;
&lt;br /&gt;
este script lo creé en base a varios tutoriales y otras yerbas que encontré en el dios google, es un prototipo simplificado del que utilizo en uno de mis proyectos web así que es 100% funcional, espero no enredarme a la hora de explicar su funcionamiento&lt;br /&gt;
&lt;br /&gt;
vamos al grano, este es el script:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #666666; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;include_masivo.php:&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;lt;?php&lt;br /&gt;################################################################################&lt;br /&gt;# * INCLUDE MASIVO:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&lt;br /&gt;# * esto sirve para cargar archivos sin necesidad de hacer miles de includes&amp;nbsp;&amp;nbsp; #&lt;br /&gt;# * en un mismo documento &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&lt;br /&gt;# * Por favor conserva mis datos:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&lt;br /&gt;# * Nombre: Mauricio José Tobares - abril 2012 - Argentina&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&lt;br /&gt;# * Sitio web: &lt;a href=&quot;http://www.octavoinfierno.com.ar/&quot;&gt;http://www.octavoinfierno.com.ar&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&lt;br /&gt;# * Blog: &lt;a href=&quot;http://notas-php.blogspot.com.ar/&quot;&gt;http://notas-php.blogspot.com.ar&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&lt;br /&gt;# * Mail: &lt;a href=&quot;mailto:carrozadelamuerte@gmail.com&quot;&gt;carrozadelamuerte@gmail.com&lt;/a&gt; - &lt;a href=&quot;mailto:carrozadelamuerte@octavoinfierno.com.ar&quot;&gt;carrozadelamuerte@octavoinfierno.com.ar&lt;/a&gt;#&lt;br /&gt;# * Este script es solo una reducción de ejemplo de un script aun mas complejo #&lt;br /&gt;# * por lo que si lo utilizas o lo adaptas a tus proyectos me gustaría que me&amp;nbsp; #&lt;br /&gt;# * lo comentaras en el blog y/o mandándome un correo electrónico&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&lt;br /&gt;################################################################################&lt;br /&gt;// ruta a la carpeta, &#39;.&#39; es la carpeta actual asique se colocará la ruta ./directorio/&lt;br /&gt;// o la carpeta que ustedes utilicen&lt;br /&gt;$path = &quot;directorio/&quot;;&lt;br /&gt;// el siguiente array lo que hace es guardar los valores de lo que NO queremos que se muestre&lt;br /&gt;// en nuestro caso &quot;.&quot; y &quot;..&quot; ya que iremos imprimiendo uno a uno los documentos que encuentre&lt;br /&gt;$no_mostrar = Array(&quot;.&quot;,&quot;..&quot;);&lt;br /&gt;// nótese que también se podría colocar exclusiones de documentos en particular por ejemplo:&lt;br /&gt;// $no_mostrar = Array(&quot;.&quot;,&quot;..&quot;,&quot;algo-1.php&quot;,&quot;algo-2.php&quot;,&quot;algo-3.php&quot;,);&lt;br /&gt;// el resultado de hacer eso en nuestro caso será que no se cargarán los&lt;br /&gt;// documentos algo-1.php, algo-2.php y algo-3.php&lt;br /&gt;// &lt;br /&gt;// ahora abrimos la carpeta&lt;br /&gt;$dir_handle = opendir($path) or die(&quot;No se pudo abrir $path&quot;);&lt;br /&gt;// generamos el bucle que irá cargando archivo por archivo&lt;br /&gt;while ($file = readdir($dir_handle)) {&lt;br /&gt;// esto en el original decía &quot;.php&quot; pero como nosotros&lt;br /&gt;// no vamos a hacer una lista de los archivos encontrados sino un include debemos&lt;br /&gt;// dejarlo así... que lea el archivo.php como viene sin quitarle la extensión&lt;br /&gt;&amp;nbsp; $pos = strrpos($file,&quot;.&quot;);&lt;br /&gt;&amp;nbsp; $extension = substr($file,$pos);&lt;br /&gt;// no_mostrar lo que hace justamente es NO mostrar lo que definimos en el array&lt;br /&gt;&amp;nbsp; if (!in_array($extension, $no_mostrar)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; include_once($path.$file);&lt;br /&gt;// * para comprobar si se carga todo correctamente podemos hacer un echo de esta forma:&lt;br /&gt;//&amp;nbsp; echo $path.$file;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;// finalmente cerramos la carpeta&lt;br /&gt;closedir($dir_handle);&lt;br /&gt;################################################################################&lt;br /&gt;?&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
Ahora debes crear una carpeta llamada &quot;directorio&quot; y colocar dentro un par de archivos, como ejemplo yo coloqué 5 archivos llamados algo-1.php, algo-2.php y así&lt;br /&gt;
&lt;br /&gt;
algo1.php lo único que tiene es un titulo H1, algo-2.php un titulo H2 y así hasta el H5&lt;br /&gt;
&lt;br /&gt;
bueno, eso es todo, espero les sea de utilidad este script para hacer include masivo&lt;br /&gt;
&lt;br /&gt;
Otras ideas a tener en cuenta:&lt;br /&gt;
Con el include masivo no solo se pueden poner archivos de html liso y llano, pueden colocar scripts de php o lo que se les ocurra que se haya que incluir, también se puede hacer un require masivo y utilizarlo por ejemplo para requerir todos los scripts de una carpeta determinada, una gran posibilidad es asignar la ruta mediante una consulta en base de datos para que en determinada sección de la página se requiera la carga de determinados archivos, también se puede asignar dentro del array que se carga en $no_mostrar un array asociativo en donde se le meta otro array que cargue las excepciones desde una db etc etc...&lt;br /&gt;
&lt;br /&gt;
todo queda a libre criterio de lo que se necesite, pero lo básico está echo, ahora solo hay que ver como adaptarlo a cada proyecto ya que no todos los proyectos tienen por que ser exactamente iguales&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: lime; font-size: large;&quot;&gt;&lt;a href=&quot;http://www.octavoinfierno.com.ar/descargas/include_masivo.zip&quot;&gt;DESCARGAR!&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://notas-php.blogspot.com/feeds/1578452860887089896/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://notas-php.blogspot.com/2012/04/include-masiva-con-php.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3630610963710169352/posts/default/1578452860887089896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3630610963710169352/posts/default/1578452860887089896'/><link rel='alternate' type='text/html' href='http://notas-php.blogspot.com/2012/04/include-masiva-con-php.html' title='include masiva con php'/><author><name>Mauricio José Tobares</name><uri>http://www.blogger.com/profile/10457805957532278270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><georss:featurename>Baradero, Buenos Aires, Argentina</georss:featurename><georss:point>-33.817426778700629 -59.518507719039917</georss:point><georss:box>-33.817632778700627 -59.51881621903992 -33.81722077870063 -59.518199219039914</georss:box></entry><entry><id>tag:blogger.com,1999:blog-3630610963710169352.post-5956380186684716074</id><published>2012-04-24T00:25:00.000-07:00</published><updated>2020-03-22T01:03:41.645-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="notas php"/><title type='text'>¿scriptofilia copy-paste o recopilación de scripts?</title><content type='html'>&lt;h2 style=&quot;text-align: center;&quot;&gt;
&lt;i&gt;&lt;b&gt;¿scriptofilia copy-paste o recopilación de scripts?&lt;/b&gt;&lt;/i&gt;&lt;/h2&gt;
&lt;br /&gt;
En muchos... muchisimos blogs leemos y tratamos de seguir guías de scripts que NO FUNCIONAN sea por estupidez propia del bloggero o porque no tienen ni el mas minimo reparo en hacer &quot;copy-paste&quot; de obras que ensima que no son de ellos estan mal echas o directamente son para versiones en desuso del lenguaje lleno de cosas que dan el tipico DEPRECATED!&lt;br /&gt;
Esos blogs que tienen el sindrome de &quot;scriptofilia copy-paste&quot; son lamentablemente los mejores rankeados en los buscadores como google o el socotroco ese que es de microsoft que por suerte no lo utilizo porque soy linuxero y gracias a dios (o al diablo), si... si hablo de ese navegador... del mas primitivo y despreciable de todos los sistemas como es el caso del IE en todas sus versiones...&lt;br /&gt;
&lt;br /&gt;
pero no estoy aquí para discutir sistemas operativos y ni siquiera navegadores... estoy redactando esto para ver si alguna vez los que tenemos un buen criterio en blog hacemos campaña para FRENAR LA PLAGA de hacer copy-paste al mejor estilo obsesivo-maniaco-compulsivo y empezamos a generar contenidos propios, scripts y sistemas que al menos funcionen y teniendo ejemplos aplicados en nuestros propios proyectos web y no promesas de soluciones incoherentes que hasta que uno no las prueba no se da cuenta de que no funcionan y aquí en este punto quiero detenerme a decirle a los que CON FECHA RECIENTE hacen copy-paste de contenidos de PHP4... hermanos mios... dejense de hinchar los huevos con el php4... actualicense, ya parecen usuarios del INTERNET EXPLORER 6... dejenlo morir en paz pobre php4... que les hizo para que no lo dejen en paz??? todavia no se dieron cuenta que hasta los hostings gratuitos utilizan el php5.(+)??????&lt;br /&gt;
&lt;br /&gt;
yo la verdad a veces me pregunto que tienen en la cabeza los que hacen copy-paste, pero obviamente se la dan de gurues de php y nisiquiera saben darse cuenta que &amp;lt;? es de php4, ya con simplemente ver que la etiqueta corta NO SE UTILIZA MAS EN PHP5 se darían cuenta que si hacen copy-paste de ese contenido, ese contenido es VIEJO, es INUTIL y muchas veces tiene cosas que son DEPRECATED&lt;br /&gt;
en php5 en adelante solo se utiliza la etiqueta de apretura &amp;lt;?php y si el script comienza con &amp;lt;? solamente pues estas ante un script de php4 amigo.... no lo hagas copy-paste... deja morir ese lenguaje en paz, actualiza tus neuroticas neuronas o al menos DIGNATE A APRENDER PHP y te daras cuenta que php4 ya no se utiliza porque ya practicamente no hay alojamientos que utilicen ese lenguaje&lt;br /&gt;
&lt;br /&gt;
Yo definiría entonces a los que padecen este horrendo mal de la &quot;scriptofilia copy-paste&quot; como enfermos mentales que en lugar de aprender a programar y progresar solo retrasan el progreso del lenguaje inundando de estupideces la red, los defino como IGNOTAS QUE NO SABEN PROGRAMAR Y PARA SUPLANTAR EL SENTIMIENTO DE PEQUEÑEZ DEBEN INUNDAR INTERNET CON LO QUE SEA CON TAL QUE LOS CONSIDEREN GURU DE LA PROGRAMACIÓN&lt;br /&gt;
&lt;br /&gt;
ojala esta diarrea mental sirva para que mas gente se digne a luchar contra estos enfermos de SCRIPTOFILIA COPY-PASTE!!!!!!!

</content><link rel='replies' type='application/atom+xml' href='http://notas-php.blogspot.com/feeds/5956380186684716074/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://notas-php.blogspot.com/2012/04/scriptofilia-copy-paste-o-recopilacion.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3630610963710169352/posts/default/5956380186684716074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3630610963710169352/posts/default/5956380186684716074'/><link rel='alternate' type='text/html' href='http://notas-php.blogspot.com/2012/04/scriptofilia-copy-paste-o-recopilacion.html' title='¿scriptofilia copy-paste o recopilación de scripts?'/><author><name>Mauricio José Tobares</name><uri>http://www.blogger.com/profile/10457805957532278270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>