<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WebEstudio :: Blog de Diseño Web &#187; PHP</title>
	<atom:link href="http://www.jorgebravo.es/category/programacion/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jorgebravo.es</link>
	<description>Profesionales más creativos XHTML + CSS + PHP + Flash</description>
	<lastBuildDate>Sat, 06 Aug 2011 11:16:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>How to: Uso de los custom fields de WordPress</title>
		<link>http://www.jorgebravo.es/2011/02/how-to-uso-de-los-custom-fields-de-wordpress/</link>
		<comments>http://www.jorgebravo.es/2011/02/how-to-uso-de-los-custom-fields-de-wordpress/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 08:41:05 +0000</pubDate>
		<dc:creator>Jorge Bravo</dc:creator>
				<category><![CDATA[BLOG]]></category>
		<category><![CDATA[DESTACADOS]]></category>
		<category><![CDATA[DISEÑO]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WORDPRESS]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Webmasters]]></category>

		<guid isPermaLink="false">http://www.jorgebravo.es/?p=502</guid>
		<description><![CDATA[Para este tutorial usaremos el ejemplo más sencillo que hay para &#8220;custom fields&#8221; que es el de la imágenes de vista previa de nuestros post, con estas imágenes podemos dar un aspecto personalizado a nuestros themes y jugar mucho más con el diseño de nuestro sitio. Entonces definimos en la etiqueta Name y la llamamos [...]]]></description>
			<content:encoded><![CDATA[<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.jorgebravo.es%2F2011%2F02%2Fhow-to-uso-de-los-custom-fields-de-wordpress%2F&amp;layout=box_count&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=65&amp;font=lucida+grande' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p><p style="text-align: center;"><img class="aligncenter size-full wp-image-504" title="custom-fields-post" src="http://www.jorgebravo.es/wp-content/uploads/2010/12/custom-fields-post.jpg" alt="custom-fields-post" width="500" height="242" /></p>
<p>Para este tutorial usaremos el ejemplo más sencillo que hay para &#8220;custom fields&#8221; que es el de la imágenes de vista previa de nuestros post, con estas imágenes podemos dar un aspecto personalizado a nuestros themes y jugar mucho más con el diseño de nuestro sitio.<br />
<span id="more-502"></span><br />
Entonces definimos en la etiqueta <span style="color: #993300;"><strong>Name</strong> </span>y la llamamos <strong>thumbnail</strong> y en <span style="color: #993300;"><strong>value</strong> </span>ponemos la<strong> url completa de la imagen</strong> que queremos mostrar&#8230; nos quedaría algo así</p>
<p><img class="aligncenter size-full wp-image-505" title="custom-img" src="http://www.jorgebravo.es/wp-content/uploads/2010/12/custom-img.gif" alt="custom-img" width="500" height="174" /></p>
<p>Hacemos click en el botón <strong>Add custom field </strong>y veremos cómo se agrega en la parte de arriba</p>
<p>Ok, ya tenemos definido el custom field, ya le hemos asignado nombre y  valor&#8230; ahora viene la parte interesante ¿cómo lo mostramos en  WordPress? bien, vamos a abrir nuestro archivo <strong>index.php</strong> de nuestro  theme y agregamos la siguiente línea después del while&#8230;</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span>have_posts<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> the_post<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Loop de WordPress</span><br />
<span style="color: #000088;">$thumbnail</span> <span style="color: #339933;">=</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;thumbnail&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$single</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>Lo que hacemos aquí es asignarle a la variable <strong>$thumbnail</strong> el valor del &#8220;meta&#8221; ó custom field llamado &#8220;thumbnail&#8221; es más simple de lo que parece.</p>
<p>Ahora finalmente lo que hacemos es integrarlo dentro de nuestro theme de la siguiente manera para que todo funcione correctamente y en caso de no haber imagen para mostrar que muestre una imagen de sustitución que nosotros queramos.</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$thumbnail</span> <span style="color: #339933;">!==</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><br />
&nbsp; &nbsp; &lt;img class=&quot;thumbnail&quot; src=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$thumbnail</span><span style="color: #339933;">;</span> ?<span style="color: #339933;">/&gt;</span><span style="color: #0000ff;">&quot; width=&quot;</span><span style="color: #cc66cc;">120</span><span style="color: #0000ff;">&quot; height=&quot;</span><span style="color: #cc66cc;">120</span><span style="color: #0000ff;">&quot; alt=&quot;</span><span style="color: #000000; font-weight: bold;">&lt;?php</span> the_title_attribute<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; /&gt;<br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span> &nbsp;<span style="color: #000000; font-weight: bold;">?&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;&lt;!-- SI ESTA VACIO O NO EXISTE --&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp;&lt;img class=&quot;thumbnail&quot; src=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> bloginfo<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'template_url'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> ?<span style="color: #339933;">/&gt;/</span>images<span style="color: #339933;">/</span>nopreview<span style="color: #339933;">.</span>png<span style="color: #0000ff;">&quot; width=&quot;</span><span style="color: #cc66cc;">120</span><span style="color: #0000ff;">&quot; height=&quot;</span><span style="color: #cc66cc;">120</span><span style="color: #0000ff;">&quot; alt=&quot;</span><span style="color: #000000; font-weight: bold;">&lt;?php</span> the_title_attribute<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; /&gt;<br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>Muy sencillo como pueden ver y seguro que si buscamos más ejemplos en Google podemos encontrar muchísimos más y más completo, el fin de esta guía es simplemente mostrar la funcionalidad para que vosotros mismos podáis ampliar esta idea a vuestros propios proyectos.</p>
<p><strong>Ejemplos:</strong></p>
<p>En Vectoralia: <a target="_blank" href="http://vectoralia.com/custom_fields/" target="_blank" >hay un tutorial</a> de como crear una guía de contacto usando custom fields y algunos plugins.</p>
<p>Bueno y como este muchos más, un saludo chicos y espero vuestros comentarios.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorgebravo.es/2011/02/how-to-uso-de-los-custom-fields-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>USBWebserver 8, Apache + PHP y MySQL todo en uno y portable.</title>
		<link>http://www.jorgebravo.es/2010/08/usbwebserver-8-apache-php-y-mysql-todo-en-uno-y-portable/</link>
		<comments>http://www.jorgebravo.es/2010/08/usbwebserver-8-apache-php-y-mysql-todo-en-uno-y-portable/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 08:40:24 +0000</pubDate>
		<dc:creator>Jorge Bravo</dc:creator>
				<category><![CDATA[APACHE]]></category>
		<category><![CDATA[DESTACADOS]]></category>
		<category><![CDATA[GUÍAS]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[RECURSOS]]></category>
		<category><![CDATA[SOFTWARE]]></category>
		<category><![CDATA[PHPAMP para USB]]></category>
		<category><![CDATA[USBAMP]]></category>

		<guid isPermaLink="false">http://www.jorgebravo.es/?p=473</guid>
		<description><![CDATA[Muy interesante la aplicación USBWebServer 8 un pequeño sistema que apenas ocupa 32MB, donde tendrás una solución de Apache-MySQL-PHP listo para usar. Esto se hace ideal para instalarlo en nuestro pendrive o en CD-R para presentaciones de webs, sistemas PHP o cualquier cosa que se te ocurra. Sólo se requiere un pendrive con un mínimo [...]]]></description>
			<content:encoded><![CDATA[<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.jorgebravo.es%2F2010%2F08%2Fusbwebserver-8-apache-php-y-mysql-todo-en-uno-y-portable%2F&amp;layout=box_count&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=65&amp;font=lucida+grande' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p><p style="text-align: center;"><img class="aligncenter size-full wp-image-475" title="cab-USBWEBSRVER" src="http://www.jorgebravo.es/wp-content/uploads/2010/08/cab-USBWEBSRVER.jpg" alt="cab-USBWEBSRVER" width="500" height="242" /></p>
<p>Muy interesante la aplicación <a target="_blank" href="http://www.usbwebserver.net/en/" target="_blank">USBWebServer 8</a> un pequeño<a target="_blank" href="http://www.madrimasd.org/blogs/softwarelibre/2007/01/26/58170"> </a> sistema que apenas ocupa <tt>32MB</tt>, donde tendrás una solución de   <a target="_blank" title="www.uwamp.com" href="http://www.uwamp.com/" target="_blank">Apache-MySQL-PHP</a> listo para usar.</p>
<p>Esto se hace ideal para instalarlo en nuestro pendrive o en CD-R para  presentaciones de webs, sistemas PHP o cualquier cosa que se te ocurra.  Sólo se requiere un pendrive con un mínimo de <tt>32MB</tt>, <a target="_blank" href="http://es.php.net/">PHP</a> (El autor usa 5.0.3 sin problemas),  <a target="_blank" href="http://httpd.apache.org/">Apache</a> (2.0.50) y <a target="_blank" href="http://www.mysql.com/">MySQL</a>. <a target="_blank" title="Notepad++" href="http://notepad-plus-plus.org/es/node/66" target="_blank">Un buen editor de textos</a>,   preparar los ficheros de configuración y listo.<span id="more-473"></span>No hay que hacer absolutamente nada mas que seguir las instrucciones del  instalador y ya tenemos nuestro servidor listo para llevar a todas partes en nuestros pendrive para realizar presentaciones o demostraciones de nuestros programas sin necesidad de que tengamos una conexión a Internet.</p>
<p>Sin duda una interesante idea para todos aquellos que trabajan con   sistemas <a target="_blank" href="http://www.wampserver.com/">WAMP</a>, <a target="_blank" href="http://www.apachefriends.org/es/xampp.html">XAMPP</a> o <a target="_blank" href="http://www.onlamp.com/">LAMP</a>, que tienen ahora una alternativa  más rápida, <strong>Descarga:</strong> <a target="_blank" href="http://www.usbwebserver.net/en/" target="_blank">USBWebServer 8</a></p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">愼栠敲㵦栢瑴㩰⼯睷⹷慭牤浩獡⹤牯⽧汢杯⽳潳瑦慷敲楬牢⽥〲㜰〯⼱㘲㔯ㄸ〷㸢慂瑳湡整椠瑮牥獥湡整氠⁡灡楬慣楣돃⁮单䅂偍‬湵瀠煥敵뇃⁯⼼㹡‍楳瑳浥⁡畱⁥灡湥獡漠畣慰㰠瑴㌾䴲㱂琯㹴‬潤摮⁥整摮慲⁳湵⁡潳畬楣돃⁮敤ഠ䄠慰档ⵥ祍兓ⵌ䡐⁐楬瑳⁯慰慲甠慳⹲戼㹲ഊ㰠牢ਾ獅潴猠⁥慨散椠敤污瀠牡⁡湩瑳污牡潬攠⁮畮獥牴⁯数摮楲敶漠攠⁮䑃刭瀠牡ൡ瀠敲敳瑮捡潩敮⁳敤眠扥ⱳ猠獩整慭⁳䡐⁐⁯畣污畱敩⁲潣慳焠敵猠⁥整漠畣牲⹡‍썓河⁯敳爠煥極牥⁥湵瀠湥牤癩⁥潣⁮湵洠귃楮潭搠⁥琼㹴㈳䉍⼼瑴ⰾ㰠⁡牨晥∽瑨灴⼺支⹳桰⹰敮⽴㸢䡐㱐愯‾䔨⁬畡潴⁲獵⁡⸵⸰″楳⁮牰扯敬慭⥳ബ㰠⁡牨晥∽瑨灴⼺栯瑴摰愮慰档⹥牯⽧㸢灁捡敨⼼㹡⠠⸲⸰〵 ⁹愼栠敲㵦栢瑴㩰⼯睷⹷祭煳⹬潣⽭㸢祍兓㱌愯⸾唠⁮畢湥㰠⁡牨晥∽瑨灴⼺眯睷昮潬⵳牦敥慷敲挮⽨潮整慰㉤栮浴≬放楤潴⁲敤琠硥潴㱳愯ⰾഠ瀠敲慰慲⁲潬⁳楦档牥獯搠⁥潣普杩牵捡썩溳礠氠獩潴㰮牢ਾ‍戼㹲䄊畱귃琠湥浥獯氠⁡敤捳牡慧搠汥㰠⁡牨晥∽瑨灴⼺眯睷昮物灥条獥漮杲瀯扵楬⽣桰彰獵⹢楺≰倾偈䵁⁐慰慲唠䉓⼼㹡㰮牢ਾ‍戼㹲䌊敲浡獯甠慮挠牡数慴氠慬慭慤瀠牤癩⁥漭挠浡楢浡獯氠獯映捩敨潲⁳敤ഠ挠湯楦畧慲楣돃⁮灡湵慴摮⁯污渠浯牢⁥畱⁥畱牥浡獯‭潣楰浡獯倠偈‬祍兓⁌⁹‍灁捡敨攠⁮獥慴挠牡数慴礠挠敲浡獯氠獡挠牡数慴⁳戼眾睷⼼㹢礠㰠㹢敳獳⼼㹢‮‍敄敢썲憭焠敵慤⁲污潧愠썳㪭戼㹲ഊ㰠牢ਾ‍甤扳⼺戼㹲ഊⴠⴭⴭⴭⴭⴭⴭ瑳牡⹴慢㱴牢ਾ‍ⴭⴭⴭⴭⴭⴭ瀭牤癩⽥戼㹲ഊⴠⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭ瀭灨椮楮戼㹲ഊⴠⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭ猭慴瑲瀮灨戼㹲ഊⴠⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭ愭慰档ⵥ⸲⸰〵㰯牢ਾ‍ⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭ桰⵰⸵⸰⼳戼㹲ഊⴠⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭ洭獹汱㰯牢ਾ‍ⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭ睷⽷戼㹲ഊⴠⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭ猭獥⽳戼㹲ഊഠ㰠牢ਾ煁썵₭整敮潭⁳潬⁳楦档牥獯搠⁥潣普杩牵捡썩溳搠⁥橥浥汰㩯攠⁬愼栠敲㵦栢瑴㩰⼯睷⹷楦敲慰敧⹳潣⹭畡瀯灨畟扳栮瑴摰挮湯⹦瑨≭栾瑴摰挮湯㱦愯ⰾ‍汥㰠⁡牨晥∽瑨灴⼺眯睷昮物灥条獥挮浯愮⽵桰彰獵⹢桰⹰湩⹩瑨≭瀾灨椮楮⼼㹡ബ㰠⁡牨晥∽瑨灴⼺眯睷昮物灥条獥挮浯愮⽵桰彰獵⹢瑳牡⹴桰⹰瑨≭猾慴瑲瀮灨⼼㹡‍⁹汥㰠⁡牨晥∽瑨灴⼺眯睷昮物灥条獥挮浯愮⽵桰彰獵⹢瑨⍭瑳牡⹴慢≴猾慴瑲戮瑡⼼㹡㰮牢ਾ‍戼㹲匊湩搠摵⁡湵⁡湩整敲慳瑮⁥摩慥瀠牡⁡潴潤⁳煡敵汬獯焠敵琠慲慢慪⁮潣⁮‍楳瑳浥獡㰠⁡牨晥∽瑨灴⼺眯睷眮浡獰牥敶⹲潣⽭㸢䅗偍⼼㹡‬愼栠敲㵦栢瑴㩰⼯睷⹷灡捡敨牦敩摮⹳牯⽧獥砯浡灰栮浴≬堾䵁偐⼼㹡漠㰠⁡牨晥∽瑨灴⼺眯睷漮汮浡⹰潣⽭㸢䅌偍⼼㹡‬畱⁥楴湥湥愠潨慲甠慮愠瑬牥慮楴慶‍썭玡爠ꇃ楰慤‬愼栠敲㵦栢瑴㩰⼯睷⹷楦敲慰敧⹳潣⹭畡瀯灨畟扳栮浴㸢单䅂偍⼼㹡</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jorgebravo.es/2010/08/usbwebserver-8-apache-php-y-mysql-todo-en-uno-y-portable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enviar mensaje a Twitter usando su API y un poco de PHP.</title>
		<link>http://www.jorgebravo.es/2010/01/enviar-mensaje-a-twitter-usando-su-api-y-un-poco-de-php/</link>
		<comments>http://www.jorgebravo.es/2010/01/enviar-mensaje-a-twitter-usando-su-api-y-un-poco-de-php/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 15:22:16 +0000</pubDate>
		<dc:creator>Jorge Bravo</dc:creator>
				<category><![CDATA[BLOG]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PROGRAMACIÓN]]></category>
		<category><![CDATA[Web App]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.jorgebravo.es/?p=327</guid>
		<description><![CDATA[Si tienes algun proyecto o simplemente te interesa saber como funciona un poco la API de Twitter este es tu tutorial. Vamos a personalizar un mensaje usando PHP y el API de Twitter para luego plubicarlo. En realidad es algo muy sencillo y solo vamoa utilizar un par de lineas de codigo nada muy complejo, [...]]]></description>
			<content:encoded><![CDATA[<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.jorgebravo.es%2F2010%2F01%2Fenviar-mensaje-a-twitter-usando-su-api-y-un-poco-de-php%2F&amp;layout=box_count&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=65&amp;font=lucida+grande' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p><p><img class="aligncenter size-full wp-image-333" title="twitter-api" src="http://www.jorgebravo.es/wp-content/uploads/2010/01/twitter-api.png" alt="twitter-api" width="500" height="242" /></p>
<p>Si tienes algun proyecto o simplemente te interesa saber como funciona un poco la API de Twitter este es tu tutorial. Vamos a personalizar un mensaje usando PHP y el API de Twitter para luego plubicarlo.</p>
<p>En realidad es algo muy sencillo y solo vamoa utilizar un par de lineas de codigo nada muy complejo, pero nos servira como introducción.<span id="more-327"></span></p>
<p>Para el siguiente ejemplo usaremos dos archivos PHP.</p>
<p># insertarMensaje.php ( contiene la interface de nuestro ejemlo )<br />
# twitterApi.php ( contiene el codigo nesesario para usar el API )</p>
<p>Bien manos a la obra el codigo explicado y los parametros de configuración:</p>
<p>En primer lugar en el archivo <strong>insertarMensaje.php</strong> tenemos que modificar dos parámetros:<br />
<strong>$twitter_user</strong>, con tu nombre de usuario de Twitter y <strong>$twitter_psw</strong>, con tu contraseña de Twitter.</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> ?php<br />
<span style="color: #666666; font-style: italic;">// parametros de configuración</span><br />
<span style="color: #666666; font-style: italic;">/* ---------------------------------------- */</span><br />
<span style="color: #000088;">$twitter_user</span> <span style="color: #339933;">=</span><span style="color: #0000ff;">'tuUsuario'</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$twitter_psw</span> <span style="color: #339933;">=</span><span style="color: #0000ff;">'tuPassword'</span><span style="color: #339933;">;</span><br />
<span style="color: #666666; font-style: italic;">/* ---------------------------------------- */</span></div></td></tr></tbody></table></div>
<p>/* Esto lo dejamos tal cual<br />
/* &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- */<br />
require(&#8216;twitterApi.php&#8217;);</p>
<p>if(isset($_POST['twitter_msg'])){<br />
$twitter_msge=$_POST['twitter_msg'];<br />
if( strlen($twitter_msge)&lt;1 ){<br />
$error = 1;<br />
} else {<br />
$twitter_status = postToTwitter($twitter_user, $twitter_psw, $twitter_msge);<br />
}<br />
}<br />
?&gt;</p>
<p>Bien la parte que esta comentada indica donde esta el codigo PHP que no debemos tocar y que es el que procesa la instrucción.</p>
<p>El siguiente es el codigo de nuestra interface donde ponemos nuestro mensaje a Twitter.<br />
Como veran es muy basico y solo contiene un par de lineas de PHP para verificar si ha habido un error en el mensaje.</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> ?php <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'twitter_msg'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #339933;">!</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$error</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<div class="msg">&lt; ?php echo $twitter_status ?&gt;</div>
<p>&lt; ?php } else if(isset($error)){?&gt;</p>
<div class="msg">Error: nuestro mensaje de error!</div>
<p>&lt; ?php }?&gt;</p>
<p><strong>¿Que estas haciendo?</strong></p>
<form action="insertarMensaje.php" method="post">
<input id="twitter_msg" maxlength="140" name="twitter_msg" size="40" type="text" />
<input id="button" name="button" type="submit" value="Enviar" /> </form>
<p>Finalmente podemos poner esto en nuestro servidor local o nuestro hosting y probarlo directamente.</p>
<p><strong>Archivos del tutorial:</strong> <a class="downloadlink" href="http://www.jorgebravo.es/wp-content/plugins/download-monitor/download.php?id=3" title="Version0.1 downloaded 248 times" >twitter (248)</a><br />
<strong>Articulo original</strong>: <a target="_blank" title="Antonio Lupetti" href="http://woork.blogspot.com/2007/10/twitter-send-message-from-php-page.html">Antonio Lupetti</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorgebravo.es/2010/01/enviar-mensaje-a-twitter-usando-su-api-y-un-poco-de-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IDE para desarrollo profesional en PHP + MySQL</title>
		<link>http://www.jorgebravo.es/2009/10/ide-para-desarrollo-profesional-en-php-mysql/</link>
		<comments>http://www.jorgebravo.es/2009/10/ide-para-desarrollo-profesional-en-php-mysql/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 08:00:49 +0000</pubDate>
		<dc:creator>Jorge Bravo</dc:creator>
				<category><![CDATA[DESTACADOS]]></category>
		<category><![CDATA[Diseño web]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PROGRAMACIÓN]]></category>
		<category><![CDATA[RECURSOS]]></category>
		<category><![CDATA[Entorno de Desarrollo]]></category>
		<category><![CDATA[IDE]]></category>

		<guid isPermaLink="false">http://www.jorgebravo.es/?p=301</guid>
		<description><![CDATA[A la hora de desarrollar con PHP nos encontramos con que gran cantidad de programadores o diseñadores están usando herramientas como el Dreamweaver, incluso el block de notas de windows, y subiendo y probando sus resultados contra un servidor web. Si bien esto está bastante extendido, obviamente no es la mejor manera de trabajar ni [...]]]></description>
			<content:encoded><![CDATA[<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.jorgebravo.es%2F2009%2F10%2Fide-para-desarrollo-profesional-en-php-mysql%2F&amp;layout=box_count&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=65&amp;font=lucida+grande' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p><p><img class="aligncenter size-full wp-image-311" title="ide-php" src="http://www.jorgebravo.es/wp-content/uploads/2009/10/ide-php.png" alt="ide-php" width="500" height="242" /></p>
<p>A la hora de desarrollar con PHP nos encontramos con que gran cantidad de programadores o diseñadores están usando herramientas como el Dreamweaver, incluso el block de notas de windows, y subiendo y probando sus resultados contra un servidor web.</p>
<p>Si bien esto está bastante extendido, obviamente no es la mejor manera de trabajar ni de lejos. Tradicionalmente, PHP no contó con el apoyo total de grandes marcas de software por su gratuidad, algo que no ha impedido su rápida y total expansión entre la comunidad desarrolladora. Esto deriva en grandes ventajas como por ejemplo el precio asequible que tiene contratar un servicio de hosting con PHP + MySQL, en comparación con otras alternativas Java.<span id="more-301"></span></p>
<p>Os propongo aquí algunas herramientas que de seguro harán vuestro trabajo más sencillo y productivo, así como que disminuya de manera radical el tiempo empleado para realizarlo y los errores cometidos.</p>
<p>Comenzaré con la plataforma de implementación y depuración de código. Aquí tenemos dos claros exponentes:</p>
<p><strong>PDT Project (<a target="_blank" title="PHP Eclipse" href="http://www.eclipse.org/pdt/" target="_blank">http://www.eclipse.org/pdt</a>)<br />
</strong></p>
<p>Este es el proyecto de Eclipse para el desarrollo en PHP. Para mí sin duda la aplicación más recomendable de todas. Conocido es de sobra en la comunidad que todo lo desarrollado por Eclipse es garantía de éxito.</p>
<p>Además de incluir la tradicional interfaz que apoya la productividad y corrige numerosos errores, incluye funciones de depuración de código con el Zend Debugger.</p>
<p><img class="aligncenter size-full wp-image-303" title="pdt" src="http://www.jorgebravo.es/wp-content/uploads/2009/10/pdt.jpg" alt="pdt" width="400" height="267" /></p>
<p>Otra opción es el <a target="_blank" title="Zend Studio" href="http://www.zend.com/en/products/studio/" target="_blank"><strong>Zend Studio</strong></a>, también muy conocido y basado en el motor de eclipse. Es una magnífica aplicación para el desarrollo profesional, aunque en este caso es de pago. Incluye capacidades de análisis y optimización de código, depuración y edición avanzada.</p>
<p><img class="aligncenter size-full wp-image-304" title="zend" src="http://www.jorgebravo.es/wp-content/uploads/2009/10/zend.jpg" alt="zend" width="161" height="244" />Tercera opción os propongo <a target="_blank" title="Aptana" href="http://www.aptana.com/" target="_blank"><strong>Aptana</strong></a>, desarrollada también bajo la plataforma Eclipse, y que tiene un gran editor con cosas tan curiosas como son la comprobación en caliente de la compatibilidad de un código entre navegadores.</p>
<p><img class="aligncenter size-full wp-image-305" title="aptana" src="http://www.jorgebravo.es/wp-content/uploads/2009/10/aptana.jpg" alt="aptana" width="237" height="210" /></p>
<p>Más allá de <a target="_blank" href="http://es.wikipedia.org/wiki/WYSIWYG" target="_blank"><span onmouseover="_tipon(this)" onmouseout="_tipoff()"><strong>WYSIWYG</strong></span></a> <a target="_blank" title="TurboPHP" href="http://www.turbophp.com/" target="_blank">TurboPHP</a><span onmouseover="_tipon(this)" onmouseout="_tipoff()"><span style="direction: ltr; text-align: left;"> </span></span><span onmouseover="_tipon(this)" onmouseout="_tipoff()">apoya la presentación de datos dinámica que está más allá del <strong>WYSIWYG</strong>.</span> <span onmouseover="_tipon(this)" onmouseout="_tipoff()"><span style="direction: ltr; text-align: left;"> </span>Como los paneles o bloques de datos se generan en tiempo real, la disposición de ampliar, mantener intacto el diseño</span><span onmouseover="_tipon(this)" onmouseout="_tipoff()"><span style="direction: ltr; text-align: left;">.</span> El enfoque de diseño utiliza las tablas de HTML y estilos CSS para lograr una amplia gama de compatibilidad del navegador, sin secuencias de comandos complejos.</span></p>
<p><span onmouseover="_tipon(this)" onmouseout="_tipoff()"><img class="aligncenter size-full wp-image-306" title="tp4_ide_0_tiny" src="http://www.jorgebravo.es/wp-content/uploads/2009/10/tp4_ide_0_tiny.png" alt="tp4_ide_0_tiny" width="300" height="242" /></span></p>
<p>Por otra parte están los entornos de producción. Desaconsejo totalmente la instalación manual de Apache, PHP y demás. Para ellos hay magníficas soluciones integradas como las siguientes.</p>
<p><a target="_blank" href="http://www.apachefriends.org/es/xampp.html" target="_blank">XAMPP</a> (para Linux y Windows)<br />
<a target="_blank" href="http://www.wampserver.com/en/" target="_blank">WAMP</a> (para Windows) o <a target="_blank" href="http://www.mamp.info/en/index.html" target="_blank">MAMP</a> (para Mac)<br />
<a target="_blank" href="http://www.easyphp.org/" target="_blank">EASYPHP</a> (para Windows)<br />
<a target="_blank" href="http://vertrigo.sourceforge.net/" target="_blank">VERTIGOSERV</a> (para Windows)</p>
<p>Todos estos entornos nos instalan de una sola vez todo lo necesario para comenzar a programar sin problemas, todos incluyen como mínimo ademas detener un pequeño panel de administración desde donde poder hacer cambios en la configuración de Apache y PHP:<br />
Apache 2.2.11<br />
PHP 5.3.0<br />
MySQL 5.1.36<br />
Phpmyadmin<br />
Espero que esto les ayude a mejorar el desarrollo de sus proyector creando un mejor flujo de trabajo.</p>
<p><strong>Via:</strong> <a target="_blank" href="http://www.corpas.info/2007/12/03/desarrollo-profesional-en-php-mysql/trackback/" target="_blank">www.corpas.info</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorgebravo.es/2009/10/ide-para-desarrollo-profesional-en-php-mysql/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Usar PHP para comprimir ficheros CSS</title>
		<link>http://www.jorgebravo.es/2009/08/usar-php-para-comprimir-ficheros-css/</link>
		<comments>http://www.jorgebravo.es/2009/08/usar-php-para-comprimir-ficheros-css/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 08:33:47 +0000</pubDate>
		<dc:creator>Jorge Bravo</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[DESTACADOS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PROGRAMACIÓN]]></category>
		<category><![CDATA[SCRIPTS]]></category>
		<category><![CDATA[SNIPPETS]]></category>
		<category><![CDATA[CSS Comprimido]]></category>

		<guid isPermaLink="false">http://www.jorgebravo.es/?p=260</guid>
		<description><![CDATA[Existen varias técnicas que usan PHP para optimizar los ficheros CSS y reducir el número de peticiones HTTP en el caso de que dispongamos de varios. La siguiente técnica es una variación de la de Reinhold Weber. Los CSS son incluidos pero no son eliminados los espacios en blancos, lo que facilita la depuración y [...]]]></description>
			<content:encoded><![CDATA[<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.jorgebravo.es%2F2009%2F08%2Fusar-php-para-comprimir-ficheros-css%2F&amp;layout=box_count&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=65&amp;font=lucida+grande' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p><p><img class="aligncenter size-full wp-image-263" title="CSS_comprimido" src="http://www.jorgebravo.es/wp-content/uploads/2009/08/CSS_comprimido.png" alt="CSS_comprimido" width="500" height="233" /></p>
<p>Existen varias técnicas que usan PHP para optimizar los ficheros CSS y reducir el número de peticiones HTTP en el caso de que dispongamos de varios. La siguiente técnica es una variación de la de Reinhold Weber. Los CSS son incluidos pero no son eliminados los espacios en blancos, lo que facilita la depuración y el acceso al contenido mediante herramientas como Firebug.</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">extension_loaded</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'zlib'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
<span style="color: #990000;">ob_start</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'ob_gzhandler'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #990000;">header</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;content-type: text/css; charset: UTF-8&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #990000;">header</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;cache-control: must-revalidate&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$offset</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">60</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">60</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$expire</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;expires: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">gmdate</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;D, d M Y H:i:s&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$offset</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot; GMT&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #990000;">header</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$expire</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #990000;">ob_start</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;compress&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">function</span> compress<span style="color: #009900;">&#40;</span><span style="color: #000088;">$buffer</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #666666; font-style: italic;">// remove comments</span><br />
<span style="color: #000088;">$buffer</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'!/\*[^*]*\*+([^/][^*]*\*+)*/!'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$buffer</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">return</span> <span style="color: #000088;">$buffer</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #666666; font-style: italic;">// list CSS files to be included</span><br />
<span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'baseline.css'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'styles.css'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">extension_loaded</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'zlib'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
<span style="color: #990000;">ob_end_flush</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>Via: <a target="_blank" href="http://www.webintenta.com/usar-php-para-comprimir-ficheros-css.html">www.webintenta.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorgebravo.es/2009/08/usar-php-para-comprimir-ficheros-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 SNIPPETS muy útiles para PHP.</title>
		<link>http://www.jorgebravo.es/2009/08/5-snippets-muy-utiles-para-php/</link>
		<comments>http://www.jorgebravo.es/2009/08/5-snippets-muy-utiles-para-php/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 08:01:45 +0000</pubDate>
		<dc:creator>Jorge Bravo</dc:creator>
				<category><![CDATA[GUÍAS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PROGRAMACIÓN]]></category>
		<category><![CDATA[RECURSOS]]></category>
		<category><![CDATA[SCRIPTS]]></category>
		<category><![CDATA[SNIPPETS]]></category>
		<category><![CDATA[Recortes de codigo]]></category>
		<category><![CDATA[Scripts PHP]]></category>

		<guid isPermaLink="false">http://www.jorgebravo.es/?p=256</guid>
		<description><![CDATA[Cinco Snippets sencillos pero bastante útiles para PHP. Todos los webmasters en general a medida que realizamos proyectos vamos acumulando trozos de código que solemos re utilizar a menudo en multitud de proyectos, estos trozos de código comúnmente llamados Snippets (En programación, snippet es una pequeña porción de código o texto de programación. Son utilizadas [...]]]></description>
			<content:encoded><![CDATA[<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.jorgebravo.es%2F2009%2F08%2F5-snippets-muy-utiles-para-php%2F&amp;layout=box_count&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=65&amp;font=lucida+grande' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p><p><img src="http://www.jorgebravo.es/wp-content/uploads/2009/08/snippets_PHP.png" alt="snippets_PHP" title="snippets_PHP" width="500" height="233" class="aligncenter size-full wp-image-257" /></p>
<p>Cinco Snippets sencillos pero bastante útiles para PHP. Todos los webmasters en general a medida que realizamos proyectos vamos acumulando trozos de código que solemos re utilizar a menudo en multitud de proyectos, estos trozos de código comúnmente llamados Snippets (<em>En programación, snippet es una pequeña porción de código o texto de programación. Son utilizadas generalmente para minimizar la repetición de códigos, hacer más claros los algoritmos o permitir que una aplicación genere el código automáticamente.</em>), son muy útiles y hay muchas webs incluso que se dedican a recolectar estos snippets y a separarlos en categorías.<span id="more-256"></span><br />
<strong>algunos ejemplos ejemplo: </strong><br />
<a target="_blank" href="http://www.recortex.com">http://www.recortex.com</a><br />
<a target="_blank" href="http://snippets.com">http://snippets.com</a><br />
<a target="_blank" href="http://snippets.webeame.net">http://snippets.webeame.net</a></p>
<p><strong>Mostrar una imagen aleatoria</strong></p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #666666; font-style: italic;">//Crear una array con las distintas imagenes</span><br />
<span style="color: #000088;">$imagenes</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'/imagenes/Cabecera1.gif'</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$imagenes</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'/imagenes/Cabecera2.gif'</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$imagenes</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'/imagenes/Cabecera3.gif'</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$imagenes</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'/imagenes/Cabecera4.gif'</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$imagenes</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'/imagenes/Cabecera5.gif'</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$imagenes</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'/imagenes/Cabecera6.gif'</span><span style="color: #339933;">;</span><br />
<span style="color: #666666; font-style: italic;">// Elegimos un valor entre 0 y 5</span><br />
<span style="color: #000088;">$i</span><span style="color: #339933;">=</span><span style="color: #990000;">rand</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <br />
<span style="color: #666666; font-style: italic;">// Mostramos la imagen</span><br />
<span style="color: #b1b100;">print</span> <span style="color: #0000ff;">'&lt;img src=&quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$imagenes</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;&gt;'</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p><strong>Función para quitar tildes de una cadena</strong></p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #000000; font-weight: bold;">function</span> limpiar_acentos<span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
<span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ereg_replace</span><span style="color: #009900;">&#40;</span>”<span style="color: #009900;">&#91;</span>áàâãª<span style="color: #009900;">&#93;</span>”<span style="color: #339933;">,</span>”a”<span style="color: #339933;">,</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ereg_replace</span><span style="color: #009900;">&#40;</span>”<span style="color: #009900;">&#91;</span>ÁÀÂÃ<span style="color: #009900;">&#93;</span>”<span style="color: #339933;">,</span>”A”<span style="color: #339933;">,</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ereg_replace</span><span style="color: #009900;">&#40;</span>”<span style="color: #009900;">&#91;</span>ÍÌÎ<span style="color: #009900;">&#93;</span>”<span style="color: #339933;">,</span>”I”<span style="color: #339933;">,</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ereg_replace</span><span style="color: #009900;">&#40;</span>”<span style="color: #009900;">&#91;</span>íìî<span style="color: #009900;">&#93;</span>”<span style="color: #339933;">,</span>”i”<span style="color: #339933;">,</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ereg_replace</span><span style="color: #009900;">&#40;</span>”<span style="color: #009900;">&#91;</span>éèê<span style="color: #009900;">&#93;</span>”<span style="color: #339933;">,</span>”e”<span style="color: #339933;">,</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ereg_replace</span><span style="color: #009900;">&#40;</span>”<span style="color: #009900;">&#91;</span>ÉÈÊ<span style="color: #009900;">&#93;</span>”<span style="color: #339933;">,</span>”E”<span style="color: #339933;">,</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ereg_replace</span><span style="color: #009900;">&#40;</span>”<span style="color: #009900;">&#91;</span>óòôõº<span style="color: #009900;">&#93;</span>”<span style="color: #339933;">,</span>”o”<span style="color: #339933;">,</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ereg_replace</span><span style="color: #009900;">&#40;</span>”<span style="color: #009900;">&#91;</span>ÓÒÔÕ<span style="color: #009900;">&#93;</span>”<span style="color: #339933;">,</span>”O”<span style="color: #339933;">,</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ereg_replace</span><span style="color: #009900;">&#40;</span>”<span style="color: #009900;">&#91;</span>úùû<span style="color: #009900;">&#93;</span>”<span style="color: #339933;">,</span>”u”<span style="color: #339933;">,</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ereg_replace</span><span style="color: #009900;">&#40;</span>”<span style="color: #009900;">&#91;</span>ÚÙÛ<span style="color: #009900;">&#93;</span>”<span style="color: #339933;">,</span>”U”<span style="color: #339933;">,</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span>”ç”<span style="color: #339933;">,</span>”c”<span style="color: #339933;">,</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span>”Ç”<span style="color: #339933;">,</span>”C”<span style="color: #339933;">,</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span>”<span style="color: #009900;">&#91;</span>ñ<span style="color: #009900;">&#93;</span>”<span style="color: #339933;">,</span>”n”<span style="color: #339933;">,</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span>”<span style="color: #009900;">&#91;</span>Ñ<span style="color: #009900;">&#93;</span>”<span style="color: #339933;">,</span>”N”<span style="color: #339933;">,</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">return</span> <span style="color: #000088;">$s</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p><strong>Obtener la IP real de un visitante en nuestra Web</strong></p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #000000; font-weight: bold;">function</span> getRealIP<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp;<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>emptyempty<span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_CLIENT_IP'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #b1b100;">return</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_CLIENT_IP'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp;<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>emptyempty<span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED_FOR'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #b1b100;">return</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED_FOR'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #b1b100;">return</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p><strong>Alternar colores con PHP</strong></p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">function</span> row_color<span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$bgcolor1</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;white&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$bgcolor2</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;yellow&quot;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$bgcolor1</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$bgcolor2</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p><strong>Aplicado en una función</strong></p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">function</span> display_workers<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$db</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$n</span><span style="color: #339933;">=</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$db</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">&lt;</span> <span style="color: #000088;">$n</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$worker_data</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$db</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$worker_name</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$worker_data</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$worker_address</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$worker_data</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$worker_phone</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$worker_data</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">print</span> <span style="color: #0000ff;">&quot;&lt;tr bgcolor=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">.</span>row_color<span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">print</span> <span style="color: #0000ff;">&quot;&lt;td&gt;<span style="color: #006699; font-weight: bold;">$worker_name</span>&lt;/td&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">print</span> <span style="color: #0000ff;">&quot;&lt;td&gt;<span style="color: #006699; font-weight: bold;">$worker_address</span>&lt;/td&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">print</span> <span style="color: #0000ff;">&quot;&lt;td&gt;<span style="color: #006699; font-weight: bold;">$worker_phone</span>&lt;/td&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">print</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p><strong>Generar una contraseña aleatoria con PHP</strong></p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009933; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; * function texto_aleatorio (integer $long = 5, boolean $lestras_min = true, boolean $letras_max = true, boolean $num = true))<br />
&nbsp; &nbsp; &nbsp; *<br />
&nbsp; &nbsp; &nbsp; * Permite generar contrasenhas de manera aleatoria.<br />
&nbsp; &nbsp; &nbsp; *<br />
&nbsp; &nbsp; &nbsp; * @$long: Especifica la longitud de la contrasenha<br />
&nbsp; &nbsp; &nbsp; * @$letras_min: Podra usar letas en minusculas<br />
&nbsp; &nbsp; &nbsp; * @$letras_max: Podra usar letas en mayusculas<br />
&nbsp; &nbsp; &nbsp; * @$num: Podra usar numeros<br />
&nbsp; &nbsp; &nbsp; *<br />
&nbsp; &nbsp; &nbsp; * return string<br />
&nbsp; &nbsp; &nbsp; */</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">function</span> texto_aleatorio <span style="color: #009900;">&#40;</span><span style="color: #000088;">$long</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">,</span> <span style="color: #000088;">$letras_min</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #000088;">$letras_max</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #000088;">$num</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$salt</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$letras_min</span>?<span style="color: #0000ff;">'abchefghknpqrstuvwxyz'</span><span style="color: #339933;">:</span><span style="color: #0000ff;">''</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$salt</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$letras_max</span>?<span style="color: #0000ff;">'ACDEFHKNPRSTUVWXYZ'</span><span style="color: #339933;">:</span><span style="color: #0000ff;">''</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$salt</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$num</span>?<span style="color: #009900;">&#40;</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$salt</span><span style="color: #009900;">&#41;</span>?<span style="color: #0000ff;">'2345679'</span><span style="color: #339933;">:</span><span style="color: #0000ff;">'0123456789'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #0000ff;">''</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$salt</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$str</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; <span style="color: #990000;">srand</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>double<span style="color: #009900;">&#41;</span><span style="color: #990000;">microtime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">1000000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$long</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$num</span> <span style="color: #339933;">=</span> <span style="color: #990000;">rand</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$salt</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$str</span> <span style="color: #339933;">.=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$salt</span><span style="color: #339933;">,</span> <span style="color: #000088;">$num</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$i</span><span style="color: #339933;">++;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$str</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jorgebravo.es/2009/08/5-snippets-muy-utiles-para-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ejemplo sencillo con Ajax &#8211; Comprobar disponibilidad de un nick</title>
		<link>http://www.jorgebravo.es/2009/07/ejemplo-sencillo-con-ajax-comprobar-disponibilidad-de-un-nick/</link>
		<comments>http://www.jorgebravo.es/2009/07/ejemplo-sencillo-con-ajax-comprobar-disponibilidad-de-un-nick/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 21:45:40 +0000</pubDate>
		<dc:creator>Jorge Bravo</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[BLOG]]></category>
		<category><![CDATA[JAVASCRIPT]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[RECURSOS]]></category>
		<category><![CDATA[SCRIPTS]]></category>
		<category><![CDATA[Ejemplo Ajax]]></category>
		<category><![CDATA[Protoptype]]></category>
		<category><![CDATA[Tutoriales]]></category>

		<guid isPermaLink="false">http://www.jorgebravo.es/?p=132</guid>
		<description><![CDATA[Este es un ejemplo sencillo de ajax para comprobar si ya existe el nick del usuario en la base de datos cuando se va a registrar. El ejemplo claramente puede ampliarse para dejarlo mas profesional, pero lo realmente importantes es que apreciemos el potencial de este tipo de scripts. La única librería que necesitamos descargar [...]]]></description>
			<content:encoded><![CDATA[<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.jorgebravo.es%2F2009%2F07%2Fejemplo-sencillo-con-ajax-comprobar-disponibilidad-de-un-nick%2F&amp;layout=box_count&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=65&amp;font=lucida+grande' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p><p><img src="http://www.jorgebravo.es/wp-content/uploads/2009/07/ajax.png" alt="ajax" title="ajax" width="500" height="233" class="aligncenter size-full wp-image-254" /></p>
<p>Este es un ejemplo sencillo de ajax para comprobar si ya existe el nick del usuario en la base de datos cuando se va a registrar. El ejemplo claramente puede ampliarse para dejarlo mas profesional, pero lo realmente importantes es que apreciemos el potencial de este tipo de scripts.</p>
<p>La única librería que necesitamos descargar es <a target="_blank" href="http://www.prototypejs.org/assets/2008/1/25/prototype-1.6.0.2.js" target="_blank">prototype.js</a> y llamarla en el <strong>HEAD</strong> de nuestra web:</p>
<p><span id="more-132"></span></p>
<div class="codecolorer-container html4strict dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/js/prototype.js&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></div></td></tr></tbody></table></div>
<p>En el formulario, en el <strong>INPUT</strong> donde hay que introducir el <strong>nick</strong> de usuario pondremos un evento javascript onKeyUp llamando a nuestra función para comprobar si existe el <strong>nick</strong>. Usamos el evento <strong>onKeyUp</strong> para que se llame a la función cada vez que se introduzca una letra. También insertamos una sección <strong>SPAN</strong>, donde se escribirá si existe el usuario o no.</p>
<div class="codecolorer-container html4strict dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">onkeyup</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;comprobar(this.value)&quot;</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;nickname&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></div></td></tr></tbody></table></div>
<p>Aqui nuestra etiqueta <strong>SPAN</strong> para que muestre el resultado</p>
<div class="codecolorer-container html4strict dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span>”comprobar_mensaje” &gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span></div></td></tr></tbody></table></div>
<p>Ahora definimos también la función <strong>&#8220;comprobar&#8221;</strong> dentro del <strong>HEAD</strong>:</p>
<div class="codecolorer-container javascript dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #006600; font-style: italic;">// &lt; ![CDATA[</span><br />
&nbsp;<span style="color: #006600; font-style: italic;">//&lt;![CDATA[</span><br />
<span style="color: #003366; font-weight: bold;">function</span> comprobar<span style="color: #009900;">&#40;</span>nick<span style="color: #009900;">&#41;</span> <br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> url <span style="color: #339933;">=</span> <span style="color: #3366CC;">'http://'</span><span style="color: #339933;">+</span>location.<span style="color: #660066;">host</span><span style="color: #339933;">+</span><span style="color: #3366CC;">'/ajax_comprobar_nick.php'</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> pars <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;nickname=&quot;</span> <span style="color: #339933;">+</span> nick<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> myAjax <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Ajax.<span style="color: #660066;">Updater</span><span style="color: #009900;">&#40;</span> <span style="color: #3366CC;">'comprobar_mensaje'</span><span style="color: #339933;">,</span> url<span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span> method<span style="color: #339933;">:</span> <span style="color: #3366CC;">'get'</span><span style="color: #339933;">,</span> parameters<span style="color: #339933;">:</span> pars<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #006600; font-style: italic;">// ]]&gt;&lt;/script&gt;</span></div></td></tr></tbody></table></div>
<p>La variable &#8220;url&#8221; es la dirección donde se encuentra el archivo php que comprobará si existe el nick en la base de datos.<br />
En la variable &#8220;pars&#8221; escribimos las diferentes varibles que vamos a pasar al anterior php.<br />
El primer parámetro de <strong>Ajax.Updater</strong> es la etiqueta html que se va a actualizar con el resultado de la función (diciendo si existe el usuario o no). El segundo parámetro es la variable &#8220;url&#8221; con la dirección del archivo php que ya hemos definido antes. En el tercer parámetro decimos el método por el que pasar las variables a la función (<strong>normalmente GET</strong>) y las variables que vamos pasar (<strong>que hemos definido en la variable &#8220;pars&#8221;</strong>).</p>
<p>El archivo <strong><span style="color: #008000;">ajax_comprobar_nick.php</span></strong> tendrá el siguiente contenido:</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #666666; font-style: italic;">// Que no se nos olvide incluir nuestro fichero con la conexion a la base de datos.</span><br />
<span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;conexion.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$nick</span><span style="color: #339933;">=</span><span style="color: #000088;">$_REQUEST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'nickname'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$sql</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;SELECT nick FROM usuarios WHERE nick='<span style="color: #006699; font-weight: bold;">$nick</span>'&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$res</span><span style="color: #339933;">=</span><span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$total</span><span style="color: #339933;">=</span><span style="color: #990000;">mysql_num_rows</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$total</span><span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
<span style="color: #666666; font-style: italic;">// El usuario existe en la Base de Datos</span><br />
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Este nick está ocupado&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #b1b100;">else</span><br />
<span style="color: #009900;">&#123;</span><br />
<span style="color: #666666; font-style: italic;">// Ese nick esta libre</span><br />
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Nick libre&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #339933;">&gt;</span></div></td></tr></tbody></table></div>
<p>Ahora cada vez que se escriba una letra en el campo nick del formulario, se llamará al fichero php anterior para comprobar si existe el nick en la base de datos y se actualizará el campo <strong>SPAN</strong> <strong>&#8220;comprobar_mensaje&#8221;</strong> con el resultado.</p>
<p><a class="downloadlink" href="http://www.jorgebravo.es/wp-content/plugins/download-monitor/download.php?id=1" title="Version0.5 downloaded 673 times" >Archivos del ejercicio (673)</a><br />
Articulo Original : <a target="_blank" href="http://notasweb.com/articulo/ajax/ejemplo-sencillo-con-ajax-comprobar-disponibilidad-de-un-nick.html">NotasWeb</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorgebravo.es/2009/07/ejemplo-sencillo-con-ajax-comprobar-disponibilidad-de-un-nick/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>AjaXplorer: Administrador de archivos gratuito</title>
		<link>http://www.jorgebravo.es/2009/06/ajaxplorer-administrador-de-archivos-gratuito/</link>
		<comments>http://www.jorgebravo.es/2009/06/ajaxplorer-administrador-de-archivos-gratuito/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 19:26:47 +0000</pubDate>
		<dc:creator>Jorge Bravo</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[RECURSOS]]></category>
		<category><![CDATA[SOFTWARE]]></category>
		<category><![CDATA[AjaXplorer]]></category>
		<category><![CDATA[Webmasters]]></category>

		<guid isPermaLink="false">http://www.jorgebravo.es/?p=84</guid>
		<description><![CDATA[AjaXplorer es un gestor de archivos Ajax muy interesante para incluir en algunas de nuestras aplicaciones web. Sobre todo en aquellas que por una razón u otra no podamos ofrecer un servicio FTP. Posee una funcionalidad bastante potente y una interfaz de fácil uso. Está desarrollado con PHP y no requiere de base de datos [...]]]></description>
			<content:encoded><![CDATA[<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.jorgebravo.es%2F2009%2F06%2Fajaxplorer-administrador-de-archivos-gratuito%2F&amp;layout=box_count&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=65&amp;font=lucida+grande' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p><p><strong><a href="http://www.jorgebravo.es/wp-content/uploads/2009/06/AjaxExplorer.jpg" rel="lightbox[84]"><img class="alignleft size-thumbnail wp-image-85" style="border: 0pt none; margin: 5px;" title="AjaxExplorer" src="http://www.jorgebravo.es/wp-content/uploads/2009/06/AjaxExplorer-150x150.jpg" alt="AjaxExplorer" width="150" height="150" /></a></strong></p>
<p><strong>AjaXplorer</strong> es un gestor de archivos Ajax muy interesante para incluir en algunas de nuestras aplicaciones web. Sobre todo en aquellas que por una razón u otra no podamos ofrecer un servicio FTP. Posee una funcionalidad bastante potente y una interfaz de fácil uso. Está desarrollado con PHP y no requiere de base de datos para funcionar.</p>
<p>Durante mis pruebas funcionó muy bien. En general me gustó mucho, sobre todo el editor y el poder reproducir los archivos de audio y vídeo. La carga de las miniaturas de imágenes me sorprendio lo rápido que se generan incluso con archivos de imágenes relativamente grandes.<span id="more-84"></span></p>
<ul>
<li>Podemos realizar tanto sobre carpetas como archivos las siguientes acciones: renombrar, copiar, mover, eliminar, descargar.</li>
<li>Carga de archivos múltiples con barra de progreso.</li>
<li>Los archivos MP3 se pueden escuchar sin descargarlos.</li>
<li>Posibilidad de editar archivos de texto (con resaltado de sintaxis para JS, PHP, HTML, Java, SQL y PERL).</li>
<li>Las imágenes se pueden ver de antemano y en un pase de diapositivas.</li>
<li>Los vídeos de Flash también se pueden ver sin necesidad de descargarlos.</li>
<li>Los archivos ZIP pueden ser navegados y extraidos desde el propio gestor de archivos.</li>
<li>Sistema de favoritos para llegar a los archivos que uno desea de un modo más fácil.</li>
</ul>
<p>Sitio Web: <a target="_blank" title="AjaxExplorer" href="http://www.ajaxplorer.info/" target="_blank">AjaXplorer</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorgebravo.es/2009/06/ajaxplorer-administrador-de-archivos-gratuito/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

