<?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>Blog XYOX &#187; Php</title>
	<atom:link href="http://xyox.info/tags/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://xyox.info</link>
	<description>Blog personal de XYOX, Web y No Web</description>
	<lastBuildDate>Wed, 14 Sep 2011 00:41:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Manual basico de PHP y MySQL</title>
		<link>http://xyox.info/2011/01/04/manual-basico-de-php-y-mysql/</link>
		<comments>http://xyox.info/2011/01/04/manual-basico-de-php-y-mysql/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 01:55:50 +0000</pubDate>
		<dc:creator>XYOX</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[recursos]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[manual]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://xyox.info/?p=933</guid>
		<description><![CDATA[Encontre este manual en pdf llamado "Desarrollo Web con PHP y MySQL" escrito por Joel Gonzales Estrada, es una buena guia para quienes se inicial en este amplio mundo de la Web con el lenguaje PHP y la base de datos MySQL. El archivo esta ajolado en Megaupload... Salu2 DESCARGA Escuchaeste post]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="Manual PHP y MySQL - Blog XYOX" src="http://i55.tinypic.com/xauiz4.png" alt="" width="500" height="377" /></p>
<p>Encontre este manual en pdf llamado "<strong><em>Desarrollo Web con PHP y MySQL</em></strong>" escrito por Joel Gonzales Estrada, es una buena guia para quienes se inicial en este amplio mundo de la Web con el lenguaje PHP y la base de datos MySQL.</p>
<p>El archivo esta ajolado en Megaupload... Salu2</p>
<p><a href="http://www.megaupload.com/?d=B1YMK4AF">DESCARGA</a></p>
<form id="vozme_form_f9a4bd3fbc16321a3a762baf1ce0d863" method="post" name="vozme_form_f9a4bd3fbc16321a3a762baf1ce0d863" target="f9a4bd3fbc16321a3a762baf1ce0d863" action="http://vozme.com/text2voice.php"><input name="text" type="hidden" value="Manual basico de PHP y MySQL.. 
Encontre este manual en pdf llamado &quot;Desarrollo Web con PHP y MySQL&quot; escrito por Joel Gonzales Estrada, es una buena guia para quienes se inicial en este amplio mundo de la Web con el lenguaje PHP y la base de datos MySQL.
El archivo esta ajolado en Megaupload... Salu2
DESCARGA
" /><input name="lang" type="hidden" value="es" /><input name="gn" type="hidden" value="ml" /><input type="hidden" id="interface" name="interface" value="full" />
			<div style="margin-left:40%;">
			
				<input style="float:left;" type="image" width="40" height="40" src="http://xyox.info/wp-content/plugins/vozme/img/megaphone40x40w.gif" alt="Escucha este post" onclick="window.open('', 'f9a4bd3fbc16321a3a762baf1ce0d863', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes');">
				<div style="margin-left:48px; text-align:left;"><a style="font-size:12px;" href="javascript:void(0);" onclick="window.open('', 'f9a4bd3fbc16321a3a762baf1ce0d863', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes'); document.getElementById('vozme_form_f9a4bd3fbc16321a3a762baf1ce0d863').submit();">Escucha<br/>este post</a></div>
			</div></form>]]></content:encoded>
			<wfw:commentRss>http://xyox.info/2011/01/04/manual-basico-de-php-y-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tip PHP: Caracteres especiales en las urls</title>
		<link>http://xyox.info/2010/12/20/tip-php-caracteres-especiales-en-las-urls/</link>
		<comments>http://xyox.info/2010/12/20/tip-php-caracteres-especiales-en-las-urls/#comments</comments>
		<pubDate>Mon, 20 Dec 2010 07:18:12 +0000</pubDate>
		<dc:creator>XYOX</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[caracteres]]></category>
		<category><![CDATA[urls]]></category>

		<guid isPermaLink="false">http://xyox.info/?p=909</guid>
		<description><![CDATA[Hay cosas que tienes sobreentendido por la practica pero muchas veces buscamos informacion de algo que pareciera no tener mayor complicacion. El transporte caracteres especiales en las urls, como lo hacemos en PHP? Con la funcion php urlencode, ejemplo : echo urlencode("Niñez");  //  La salida es Ni%C3%B1ez Los 2 siguientes caracteres luego del porcentaje (%) [...]]]></description>
			<content:encoded><![CDATA[<p>Hay cosas que tienes sobreentendido por la practica pero muchas veces buscamos informacion de algo que pareciera no tener mayor complicacion. El transporte <strong>caracteres especiales</strong> en las urls, como lo hacemos en PHP?</p>
<p>Con la funcion php <strong>urlencode</strong>, ejemplo :</p>
<p style="text-align: center;"><span style="color: #99cc00;"><span style="color: #008000;">echo</span> </span><span style="color: #0000ff;">urlencode</span>("<span style="color: #800000;">Niñez</span>");  <span style="color: #ff6600;">//  La salida es Ni%C3%B1ez</span></p>
<p>Los 2 siguientes caracteres luego del porcentaje (%) son valores hexadecimales <strong>ASCII </strong>para el uso de enlaces generalmente.</p>
<p>Salu2</p>
<form id="vozme_form_0d2dd149b415e85ef811a015d84be204" method="post" name="vozme_form_0d2dd149b415e85ef811a015d84be204" target="0d2dd149b415e85ef811a015d84be204" action="http://vozme.com/text2voice.php"><input name="text" type="hidden" value="Tip PHP: Caracteres especiales en las urls.. Hay cosas que tienes sobreentendido por la practica pero muchas veces buscamos informacion de algo que pareciera no tener mayor complicacion. El transporte caracteres especiales en las urls, como lo hacemos en PHP?
Con la funcion php urlencode, ejemplo :
echo urlencode(&quot;Niñez&quot;);  //  La salida es Ni%C3%B1ez
Los 2 siguientes caracteres luego del porcentaje (%) son valores hexadecimales ASCII para el uso de enlaces generalmente.
Salu2
" /><input name="lang" type="hidden" value="es" /><input name="gn" type="hidden" value="ml" /><input type="hidden" id="interface" name="interface" value="full" />
			<div style="margin-left:40%;">
			
				<input style="float:left;" type="image" width="40" height="40" src="http://xyox.info/wp-content/plugins/vozme/img/megaphone40x40w.gif" alt="Escucha este post" onclick="window.open('', '0d2dd149b415e85ef811a015d84be204', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes');">
				<div style="margin-left:48px; text-align:left;"><a style="font-size:12px;" href="javascript:void(0);" onclick="window.open('', '0d2dd149b415e85ef811a015d84be204', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes'); document.getElementById('vozme_form_0d2dd149b415e85ef811a015d84be204').submit();">Escucha<br/>este post</a></div>
			</div></form>]]></content:encoded>
			<wfw:commentRss>http://xyox.info/2010/12/20/tip-php-caracteres-especiales-en-las-urls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>15 años de PHP!</title>
		<link>http://xyox.info/2010/06/14/15-anos-de-php/</link>
		<comments>http://xyox.info/2010/06/14/15-anos-de-php/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 07:06:53 +0000</pubDate>
		<dc:creator>XYOX</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[aniversario]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://xyox.info/?p=709</guid>
		<description><![CDATA[El pasado 8 de junio, si ya se que es un poco tarde pero resien vuelvo a la nube, PHP el buen compañero de toda la vida y testigo de cada emocion hecha código cumplió su quinceañero en este post le rindo un pequeño homenaje. La historia y cosas básicas en PHP: Y para terminar [...]]]></description>
			<content:encoded><![CDATA[<p>El pasado 8 de junio, si ya se que es un poco tarde pero resien vuelvo a la nube, PHP el buen compañero de toda la vida y testigo de cada emocion hecha código cumplió su quinceañero en este post le rindo un pequeño homenaje.</p>
<p>La historia y cosas básicas en PHP:</p>
<p style="text-align: center;"><object style="height: 344px; width: 500px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100" height="100" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/0Cg-q3iDNyE" /><param name="allowfullscreen" value="true" /><embed style="height: 344px; width: 500px;" type="application/x-shockwave-flash" width="100" height="100" src="http://www.youtube.com/v/0Cg-q3iDNyE" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Y para terminar esta es una canción dedicada a PHP que me pareció un buen recuento sobre este lenguaje orientado a la web, si si esta buena la letra "pi echhh pi jiji".</p>
<p style="text-align: center;"><object style="height: 344px; width: 500px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100" height="100" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/sSXUCtciAtk" /><param name="allowfullscreen" value="true" /><embed style="height: 344px; width: 500px;" type="application/x-shockwave-flash" width="100" height="100" src="http://www.youtube.com/v/sSXUCtciAtk" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<form id="vozme_form_cfc69f35c8b484f331dbf7a7ef25a160" method="post" name="vozme_form_cfc69f35c8b484f331dbf7a7ef25a160" target="cfc69f35c8b484f331dbf7a7ef25a160" action="http://vozme.com/text2voice.php"><input name="text" type="hidden" value="15 años de PHP!.. El pasado 8 de junio, si ya se que es un poco tarde pero resien vuelvo a la nube, PHP el buen compañero de toda la vida y testigo de cada emocion hecha código cumplió su quinceañero en este post le rindo un pequeño homenaje.
La historia y cosas básicas en PHP:

Y para terminar esta es una canción dedicada a PHP que me pareció un buen recuento sobre este lenguaje orientado a la web, si si esta buena la letra &quot;pi echhh pi jiji&quot;.

" /><input name="lang" type="hidden" value="es" /><input name="gn" type="hidden" value="ml" /><input type="hidden" id="interface" name="interface" value="full" />
			<div style="margin-left:40%;">
			
				<input style="float:left;" type="image" width="40" height="40" src="http://xyox.info/wp-content/plugins/vozme/img/megaphone40x40w.gif" alt="Escucha este post" onclick="window.open('', 'cfc69f35c8b484f331dbf7a7ef25a160', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes');">
				<div style="margin-left:48px; text-align:left;"><a style="font-size:12px;" href="javascript:void(0);" onclick="window.open('', 'cfc69f35c8b484f331dbf7a7ef25a160', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes'); document.getElementById('vozme_form_cfc69f35c8b484f331dbf7a7ef25a160').submit();">Escucha<br/>este post</a></div>
			</div></form>]]></content:encoded>
			<wfw:commentRss>http://xyox.info/2010/06/14/15-anos-de-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El cuerpo humano con HTML y PHP</title>
		<link>http://xyox.info/2010/05/11/el-cuerpo-humano-con-html-y-php/</link>
		<comments>http://xyox.info/2010/05/11/el-cuerpo-humano-con-html-y-php/#comments</comments>
		<pubDate>Tue, 11 May 2010 07:53:13 +0000</pubDate>
		<dc:creator>XYOX</dc:creator>
				<category><![CDATA[Humor]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[body]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://xyox.info/?p=622</guid>
		<description><![CDATA[Pues un sencillo codigo para renderizar nuestro un cuerpo adecuado con HTML y claro también PHP jajaj asi de facil: Jaja muy creativo desde AlvaroGo! el autor Escuchaeste post]]></description>
			<content:encoded><![CDATA[<p>Pues un sencillo codigo para renderizar nuestro un cuerpo adecuado con HTML y claro también PHP jajaj asi de facil:</p>
<p style="text-align: center;"><a href="http://i44.tinypic.com/mt1bfl.gif"><img class="aligncenter" title="El cuerpo humano en HTML y PHP" src="http://i44.tinypic.com/mt1bfl.gif" alt="" width="500" height="750" /></a></p>
<p>Jaja muy creativo desde <a href="http://www.alvago.com.ar/2010/04/20/the-human-body-in-html-and-php/">AlvaroGo!</a> el autor</p>
<form id="vozme_form_37c866825c7ab96e807dfc741de43e73" method="post" name="vozme_form_37c866825c7ab96e807dfc741de43e73" target="37c866825c7ab96e807dfc741de43e73" action="http://vozme.com/text2voice.php"><input name="text" type="hidden" value="El cuerpo humano con HTML y PHP.. Pues un sencillo codigo para renderizar nuestro un cuerpo adecuado con HTML y claro también PHP jajaj asi de facil:

Jaja muy creativo desde AlvaroGo! el autor
" /><input name="lang" type="hidden" value="es" /><input name="gn" type="hidden" value="ml" /><input type="hidden" id="interface" name="interface" value="full" />
			<div style="margin-left:40%;">
			
				<input style="float:left;" type="image" width="40" height="40" src="http://xyox.info/wp-content/plugins/vozme/img/megaphone40x40w.gif" alt="Escucha este post" onclick="window.open('', '37c866825c7ab96e807dfc741de43e73', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes');">
				<div style="margin-left:48px; text-align:left;"><a style="font-size:12px;" href="javascript:void(0);" onclick="window.open('', '37c866825c7ab96e807dfc741de43e73', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes'); document.getElementById('vozme_form_37c866825c7ab96e807dfc741de43e73').submit();">Escucha<br/>este post</a></div>
			</div></form>]]></content:encoded>
			<wfw:commentRss>http://xyox.info/2010/05/11/el-cuerpo-humano-con-html-y-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Netbeans 6.8 disponible</title>
		<link>http://xyox.info/2009/12/17/netbeans-6-8-disponible/</link>
		<comments>http://xyox.info/2009/12/17/netbeans-6-8-disponible/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 15:56:33 +0000</pubDate>
		<dc:creator>XYOX</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://xyox.info/?p=392</guid>
		<description><![CDATA[Ya esta listo el nuevo Netbeans 6.8 cabe descatar que esta version que ademas soporta PHP tambien soporta Symfony Sitio oficial de descarga Escuchaeste post]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="Netbeans 6.8 disponible - Blog XYOX" src="http://i49.tinypic.com/244xzwz.jpg" alt="" /></p>
<p>Ya esta listo el nuevo Netbeans 6.8 cabe descatar que esta version que ademas soporta PHP tambien soporta Symfony</p>
<p><a href="http://netbeans.org/downloads/index.html">Sitio oficial de descarga</a></p>
<form id="vozme_form_c1ba99b7158679e6fb30e92c81fa67c4" method="post" name="vozme_form_c1ba99b7158679e6fb30e92c81fa67c4" target="c1ba99b7158679e6fb30e92c81fa67c4" action="http://vozme.com/text2voice.php"><input name="text" type="hidden" value="Netbeans 6.8 disponible.. 
Ya esta listo el nuevo Netbeans 6.8 cabe descatar que esta version que ademas soporta PHP tambien soporta Symfony
Sitio oficial de descarga
" /><input name="lang" type="hidden" value="es" /><input name="gn" type="hidden" value="ml" /><input type="hidden" id="interface" name="interface" value="full" />
			<div style="margin-left:40%;">
			
				<input style="float:left;" type="image" width="40" height="40" src="http://xyox.info/wp-content/plugins/vozme/img/megaphone40x40w.gif" alt="Escucha este post" onclick="window.open('', 'c1ba99b7158679e6fb30e92c81fa67c4', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes');">
				<div style="margin-left:48px; text-align:left;"><a style="font-size:12px;" href="javascript:void(0);" onclick="window.open('', 'c1ba99b7158679e6fb30e92c81fa67c4', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes'); document.getElementById('vozme_form_c1ba99b7158679e6fb30e92c81fa67c4').submit();">Escucha<br/>este post</a></div>
			</div></form>]]></content:encoded>
			<wfw:commentRss>http://xyox.info/2009/12/17/netbeans-6-8-disponible/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Detección de rectas a través la transformada de Hough implementación en PHP</title>
		<link>http://xyox.info/2009/10/14/deteccion-de-rectas-a-traves-la-transformada-de-hough-implementacion-en-php/</link>
		<comments>http://xyox.info/2009/10/14/deteccion-de-rectas-a-traves-la-transformada-de-hough-implementacion-en-php/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 02:32:47 +0000</pubDate>
		<dc:creator>XYOX</dc:creator>
				<category><![CDATA[scripts]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[codigo]]></category>
		<category><![CDATA[deteccion]]></category>
		<category><![CDATA[gd]]></category>
		<category><![CDATA[Inteligencia Artificial]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[rectas]]></category>
		<category><![CDATA[transformada hough]]></category>

		<guid isPermaLink="false">http://xyox.info/?p=376</guid>
		<description><![CDATA[Bueeeno este fue un trabajo que presente en la universidad en Inteligencia Artificial, con respecto al tema en internet la gran parte de informacion esta en ingles, y tampoco hay la implementacion en PHP... asi que aqui publico el trabajito que hice El objetivo de esto es simple, necesitamos reconocer formas a partir de simples [...]]]></description>
			<content:encoded><![CDATA[<p>Bueeeno este fue un trabajo que presente en la universidad en Inteligencia Artificial, con respecto al tema en internet la gran parte de informacion esta en ingles, y tampoco hay la implementacion en PHP... asi que aqui publico el trabajito que hice <img src='http://xyox.info/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p style="text-align: center;"><img class="aligncenter" title="Deteccion de rectas con la transformada de Hough" src="http://img115.imageshack.us/img115/3213/deteccionderectas.png" alt="" width="503" height="156" /></p>
<p>El objetivo de esto es simple, necesitamos reconocer formas a partir de<br />
simples líneas, cuadrados, rectángulos, triángulos y hasta círculos. Esto es un  reto para los métodos de inteligencia artificial, desde hace muchos años estos  métodos ya estaban en teoría desarrollados pero por las limitaciones de los  computadores, velocidad de procesamiento, memoria entre otras cosas era  muy pesado o poco probable desarrollar exitosamente estas técnicas.</p>
<p><span id="more-376"></span><strong>Transformada de Hough</strong></p>
<p>La transformada de Hough consiste en permitir descubrir las formas en una<br />
imagen. Se basa en transformar puntos de la imagen en un espacio de<br />
parámetros. La idea es encontrar rectas, como se menciono en teoría se<br />
pueden encontrar varias formas, pero el costo computacional es elevado.</p>
<p>La aplicación mas simple de la transforma de hough es para la detección de<br />
rectas, lo primero es tener una imagen binarizada, resultado de la detección<br />
de bordes. Para cada punto x, y de la imagen que estemos utilizando pasan<br />
infinitas rectas de la forma: y=ax+b, la ecuación de la recta. Luego cada<br />
punto x, y vota para cada pareja de puntos que satisface<strong> b=y-ax</strong>.</p>
<p>El algoritmo tiene que recorrer todos los puntos x, y, y para cada uno votar<br />
en el espacio de parámetros m, b o también llamado acumulador. Luego la<br />
pareja m, b con más votos o el máximo del acumulador da la ecuación de la<br />
recta.</p>
<p>Hasta aquí hemos llegado de manera sencilla con nuestro algoritmo, pero<br />
existe un problema, los valores de m tienden al infinito, por lo que<br />
almacenarlos y graficarlos será un impedimento para el uso de la<br />
transformada.</p>
<p>La solución planteada es la siguiente, si bien y = ax + b, se dice que toda<br />
ecuación puede ser representada en senos y cósenos es así que la ecuación de la recta de la forma y = ax + b, puede ser representada como:</p>
<p style="text-align: center;"><strong>p = xcos(θ) + ysen(θ)</strong></p>
<p>Esta es la llamada ecuación en la forma normal de la recta, donde p es la<br />
distancia de la recta al origen y θ es el ángulo entre la perpendicular y el eje  x, de esta forma son menos los puntos que hay que recorrer y por lo tanto más rápido es el algoritmo.</p>
<p>Los límites de estos están dados por las siguientes condiciones, θ varia entre 0 y 180 ya que a partir de 180 hasta 360 grados se vuelven a cruzar las curvas y p varia en la diagonal de la imagen es decir la hipotenusa con respecto a los lados de la imagen original.</p>
<p><strong>Implementación en el lenguaje PHP</strong></p>
<p>Si bien PHP esta orientado para el desarrollo de páginas dinámicas para entorno Web, eso no le quita potencialidad a la hora de usarlo como lenguaje de desarrollo para algoritmos complejos, ya que la gran facilidad que nos brinda en la manipulación de los tipos de datos lo hacen flexible a estas<br />
situaciones.</p>
<p>PHP usa la librería GD para manipulación de imágenes, los pasos que<br />
seguiremos en la implementación son los siguientes:</p>
<ul>
<li>Implementación de un frontend simple</li>
<li> Detección de bordes, aplicando el filtro Sobel.</li>
<li> Binarizacion de las líneas en contraste con el fondo.</li>
<li> Implementación del acumulador.</li>
<li> Graficar el acumulador en una nueva imagen.</li>
</ul>
<p>La interfaz será sencilla, constara de un formulario base donde podamos subir una imagen y cajas de entrada para la personalización del método a emplear:</p>
<p style="text-align: center;"><img class="aligncenter" title="frontend transformada de hough" src="http://img260.imageshack.us/img260/2664/ia3.png" alt="" width="457" height="446" /></p>
<p>Al momento de subir la imagen, la convertiremos dinámicamente al formato PNG de acuerdo a su actual extensión</p>
<pre class="php"><span style="color: #b1b100;">switch</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$ext</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
<span style="color: #b1b100;">case</span> <span style="color: #ff0000;">'jpeg'</span>:
<span style="color: #b1b100;">case</span> <span style="color: #ff0000;">'jpg'</span>: <span style="color: #0000ff;">$imEntrada</span> = imagecreatefromjpeg<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$archivo</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'tmp_name'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #b1b100;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #ff0000;">'gif'</span>: <span style="color: #0000ff;">$imEntrada</span> = imagecreatefromgif<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$archivo</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'tmp_name'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #b1b100;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #ff0000;">'png'</span>: <span style="color: #0000ff;">$imEntrada</span> = imagecreatefromgif<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$archivo</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'tmp_name'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #b1b100;">break</span>;
<span style="color: #66cc66;">&#125;</span>
imagepng<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$imEntrada</span>,<span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">IMG_ENTADA</span><span style="color: #66cc66;">&#41;</span>;</pre>
<p>Donde this->IMG_ENTADA es el nombre de entrada que definimos previamente junto con el nombre de salida de las imágenes</p>
<pre class="php"><span style="color: #0000ff;">$tratamiento</span> = <span style="color: #000000; font-weight: bold;">new</span> TratamientoImagen<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0000ff;">$tratamiento</span>-&gt;<span style="color: #006600;">IMG_ENTADA</span> = <span style="color: #ff0000;">&quot;entrada.png&quot;</span>;
<span style="color: #0000ff;">$tratamiento</span>-&gt;<span style="color: #006600;">IMG_SALIDA</span> = <span style="color: #ff0000;">&quot;salida.png&quot;</span>;</pre>
<p>Necesitamos detectar los bordes de la imagen, en este resumen no incluiré la forma como se desarrollara la misma, en el proyecto presentado se uso el Filtro Sobel</p>
<p style="text-align: center;"><img class="aligncenter" title="sobel - Blog XYOX" src="http://img122.imageshack.us/img122/2664/ia3.png" alt="" width="421" height="200" /></p>
<p>Ahora podemos aplicar la transformada de Hough:</p>
<pre class="php"><span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$y</span>=<span style="color: #cc66cc;">0</span>; <span style="color: #0000ff;">$y</span>&lt;<span style="color: #0000ff;">$alto</span>; <span style="color: #0000ff;">$y</span>++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$x</span>=<span style="color: #cc66cc;">0</span>; <span style="color: #0000ff;">$x</span>&lt;<span style="color: #0000ff;">$ancho</span>; <span style="color: #0000ff;">$x</span>++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$matrImag</span><span style="color: #66cc66;">&#91;</span><span style="color: #0000ff;">$y</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #0000ff;">$x</span><span style="color: #66cc66;">&#93;</span> == <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
           <span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$theta</span>=<span style="color: #cc66cc;">0</span>; <span style="color: #0000ff;">$theta</span>&lt;<span style="color: #0000ff;">$maximoTheta</span>; <span style="color: #0000ff;">$theta</span>+=<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
                <span style="color: #0000ff;">$r</span> = <span style="color: #0000ff;">$x</span> * <a href="http://www.php.net/cos"><span style="color: #000066;">cos</span></a><span style="color: #66cc66;">&#40;</span><a href="http://www.php.net/deg2rad"><span style="color: #000066;">deg2rad</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$theta</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #0000ff;">$y</span> * <a href="http://www.php.net/sin"><span style="color: #000066;">sin</span></a><span style="color: #66cc66;">&#40;</span><a href="http://www.php.net/deg2rad"><span style="color: #000066;">deg2rad</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$theta</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
                <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>!<a href="http://www.php.net/isset"><span style="color: #000066;">isset</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$data</span><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#40;</span>int<span style="color: #66cc66;">&#41;</span><span style="color: #0000ff;">$theta</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#40;</span>int<span style="color: #66cc66;">&#41;</span><span style="color: #0000ff;">$r</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
                  <span style="color: #0000ff;">$data</span><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#40;</span>int<span style="color: #66cc66;">&#41;</span><span style="color: #0000ff;">$theta</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#40;</span>int<span style="color: #66cc66;">&#41;</span><span style="color: #0000ff;">$r</span><span style="color: #66cc66;">&#93;</span> = <span style="color: #cc66cc;">1</span>;
                <span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
                  <span style="color: #0000ff;">$data</span><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#40;</span>int<span style="color: #66cc66;">&#41;</span><span style="color: #0000ff;">$theta</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#40;</span>int<span style="color: #66cc66;">&#41;</span><span style="color: #0000ff;">$r</span><span style="color: #66cc66;">&#93;</span> ++;
                <span style="color: #66cc66;">&#125;</span>
             <span style="color: #66cc66;">&#125;</span>
         <span style="color: #66cc66;">&#125;</span>
      <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre>
<p>Donde la matriz $data es nuestro acumulador, finalmente graficamos los<br />
votos recibidos en esta matriz</p>
<p style="text-align: center;"><img class="aligncenter" title="Hough - Blog XYOX" src="http://img208.imageshack.us/img208/2664/ia3.png" alt="" width="360" height="248" /></p>
<p><a href="http://xyox.info/labs/hough_en_php_resumen.pdf">Descargar PDF</a><br />
<a href="http://xyox.info/labs/trans_hough.rar">Descargar Codigo</a></p>
<form id="vozme_form_6212d8f3fe79c495787180c2db1b13b6" method="post" name="vozme_form_6212d8f3fe79c495787180c2db1b13b6" target="6212d8f3fe79c495787180c2db1b13b6" action="http://vozme.com/text2voice.php"><input name="text" type="hidden" value="Detección de rectas a través la transformada de Hough implementación en PHP.. Bueeeno este fue un trabajo que presente en la universidad en Inteligencia Artificial, con respecto al tema en internet la gran parte de informacion esta en ingles, y tampoco hay la implementacion en PHP... asi que aqui publico el trabajito que hice  

El objetivo de esto es simple, necesitamos reconocer formas a partir de
simples líneas, cuadrados, rectángulos, triángulos y hasta círculos. Esto es un  reto para los métodos de inteligencia artificial, desde hace muchos años estos  métodos ya estaban en teoría desarrollados pero por las limitaciones de los  computadores, velocidad de procesamiento, memoria entre otras cosas era  muy pesado o poco probable desarrollar exitosamente estas técnicas.
Transformada de Hough
La transformada de Hough consiste en permitir descubrir las formas en una
imagen. Se basa en transformar puntos de la imagen en un espacio de
parámetros. La idea es encontrar rectas, como se menciono en teoría se
pueden encontrar varias formas, pero el costo computacional es elevado.
La aplicación mas simple de la transforma de hough es para la detección de
rectas, lo primero es tener una imagen binarizada, resultado de la detección
de bordes. Para cada punto x, y de la imagen que estemos utilizando pasan
infinitas rectas de la forma: y=ax+b, la ecuación de la recta. Luego cada
punto x, y vota para cada pareja de puntos que satisface b=y-ax.
El algoritmo tiene que recorrer todos los puntos x, y, y para cada uno votar
en el espacio de parámetros m, b o también llamado acumulador. Luego la
pareja m, b con más votos o el máximo del acumulador da la ecuación de la
recta.
Hasta aquí hemos llegado de manera sencilla con nuestro algoritmo, pero
existe un problema, los valores de m tienden al infinito, por lo que
almacenarlos y graficarlos será un impedimento para el uso de la
transformada.
La solución planteada es la siguiente, si bien y = ax + b, se dice que toda
ecuación puede ser representada en senos y cósenos es así que la ecuación de la recta de la forma y = ax + b, puede ser representada como:
p = xcos(θ) + ysen(θ)
Esta es la llamada ecuación en la forma normal de la recta, donde p es la
distancia de la recta al origen y θ es el ángulo entre la perpendicular y el eje  x, de esta forma son menos los puntos que hay que recorrer y por lo tanto más rápido es el algoritmo.
Los límites de estos están dados por las siguientes condiciones, θ varia entre 0 y 180 ya que a partir de 180 hasta 360 grados se vuelven a cruzar las curvas y p varia en la diagonal de la imagen es decir la hipotenusa con respecto a los lados de la imagen original.
Implementación en el lenguaje PHP
Si bien PHP esta orientado para el desarrollo de páginas dinámicas para entorno Web, eso no le quita potencialidad a la hora de usarlo como lenguaje de desarrollo para algoritmos complejos, ya que la gran facilidad que nos brinda en la manipulación de los tipos de datos lo hacen flexible a estas
situaciones.
PHP usa la librería GD para manipulación de imágenes, los pasos que
seguiremos en la implementación son los siguientes:

Implementación de un frontend simple
 Detección de bordes, aplicando el filtro Sobel.
 Binarizacion de las líneas en contraste con el fondo.
 Implementación del acumulador.
 Graficar el acumulador en una nueva imagen.

La interfaz será sencilla, constara de un formulario base donde podamos subir una imagen y cajas de entrada para la personalización del método a emplear:

Al momento de subir la imagen, la convertiremos dinámicamente al formato PNG de acuerdo a su actual extensión
switch &#40;$ext&#41; &#123;
case &quot;jpeg&quot;:
case &quot;jpg&quot;: $imEntrada = imagecreatefromjpeg&#40;$archivo&#91;&quot;tmp_name&quot;&#93;&#41;;
break;
case &quot;gif&quot;: $imEntrada = imagecreatefromgif&#40;$archivo&#91;&quot;tmp_name&quot;&#93;&#41;;
break;
case &quot;png&quot;: $imEntrada = imagecreatefromgif&#40;$archivo&#91;&quot;tmp_name&quot;&#93;&#41;;
break;
&#125;
imagepng&#40;$imEntrada,$this-&gt;IMG_ENTADA&#41;;
Donde this->IMG_ENTADA es el nombre de entrada que definimos previamente junto con el nombre de salida de las imágenes
$tratamiento = new TratamientoImagen&#40;&#41;;
$tratamiento-&gt;IMG_ENTADA = &quot;entrada.png&quot;;
$tratamiento-&gt;IMG_SALIDA = &quot;salida.png&quot;;
Necesitamos detectar los bordes de la imagen, en este resumen no incluiré la forma como se desarrollara la misma, en el proyecto presentado se uso el Filtro Sobel

Ahora podemos aplicar la transformada de Hough:
for &#40;$y=0; $y&lt;$alto; $y++&#41; &#123;
    for &#40;$x=0; $x&lt;$ancho; $x++&#41; &#123;
        if &#40;$matrImag&#91;$y&#93;&#91;$x&#93; == 1&#41; &#123;
           for &#40;$theta=0; $theta&lt;$maximoTheta; $theta+=1&#41; &#123;
                $r = $x * cos&#40;deg2rad&#40;$theta&#41;&#41; + $y * sin&#40;deg2rad&#40;$theta&#41;&#41;;
                if &#40;!isset&#40;$data&#91;&#40;int&#41;$theta&#93;&#91;&#40;int&#41;$r&#93;&#41;&#41; &#123;
                  $data&#91;&#40;int&#41;$theta&#93;&#91;&#40;int&#41;$r&#93; = 1;
                &#125; else &#123;
                  $data&#91;&#40;int&#41;$theta&#93;&#91;&#40;int&#41;$r&#93; ++;
                &#125;
             &#125;
         &#125;
      &#125;
&#125;
Donde la matriz $data es nuestro acumulador, finalmente graficamos los
votos recibidos en esta matriz

Descargar PDF
Descargar Codigo
" /><input name="lang" type="hidden" value="es" /><input name="gn" type="hidden" value="ml" /><input type="hidden" id="interface" name="interface" value="full" />
			<div style="margin-left:40%;">
			
				<input style="float:left;" type="image" width="40" height="40" src="http://xyox.info/wp-content/plugins/vozme/img/megaphone40x40w.gif" alt="Escucha este post" onclick="window.open('', '6212d8f3fe79c495787180c2db1b13b6', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes');">
				<div style="margin-left:48px; text-align:left;"><a style="font-size:12px;" href="javascript:void(0);" onclick="window.open('', '6212d8f3fe79c495787180c2db1b13b6', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes'); document.getElementById('vozme_form_6212d8f3fe79c495787180c2db1b13b6').submit();">Escucha<br/>este post</a></div>
			</div></form>]]></content:encoded>
			<wfw:commentRss>http://xyox.info/2009/10/14/deteccion-de-rectas-a-traves-la-transformada-de-hough-implementacion-en-php/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Codeando con Aptana Studio (IDE)</title>
		<link>http://xyox.info/2009/09/10/codeando-con-aptana-studio-ide/</link>
		<comments>http://xyox.info/2009/09/10/codeando-con-aptana-studio-ide/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 07:29:51 +0000</pubDate>
		<dc:creator>XYOX</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[recursos]]></category>
		<category><![CDATA[Ajax & Javascript]]></category>
		<category><![CDATA[aptana studio]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://xyox.info/?p=336</guid>
		<description><![CDATA[Hasta hace unas semanas usaba para el desarrollo web fundamentalmente PHP utilizaba eclipse pdt o phpeclipse, pero los buenos comentarios optenidos acerca de esta IDE que por cierto es creada a partir de eclipse, me llevaron a probarla y los resultados son mas que buenos. No solamente se puede utilizar el editor de PHP tambien [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="Aptana Studio - Blog XYOX" src="http://img38.imageshack.us/img38/3389/aptanalogo2.jpg" alt="" width="400" height="161" /></p>
<p>Hasta hace unas semanas usaba para el desarrollo web fundamentalmente PHP utilizaba eclipse pdt o phpeclipse, pero los buenos comentarios optenidos acerca de esta IDE que por cierto es creada a partir de eclipse, me llevaron a probarla y los resultados son mas que buenos.</p>
<p>No solamente se puede utilizar el editor de PHP tambien otros lenguajes, que previamente se te preguntara descargar al momento de instalar, tambien incluye una amplia variedad de librerias de Javascript y el desarrollo de aplciaciones en AJAX y para no dejar de sorprender es capaz de utilizar ftp directamente al momento de editar archivos, como si fueran en local.</p>
<p>La puedes <a href="http://aptana.com/studio/download/">descargar gratuitamente</a>, tambien existe una version de pago que ya utiliza herramientas mas complejas como protocolos ftps entre otros.</p>
<p>Para la instalacion en Ubuntu necesitamos tener previamente java</p>
<pre class="bash"><span style="color: #c20cb9; font-weight: bold;">sudo</span> apt-get <span style="color: #c20cb9; font-weight: bold;">install</span> sun-java6-jre sun-java6-plugin xulrunne</pre>
<p>Salu2</p>
<form id="vozme_form_44d355435b8f457449de805d71bf0b4d" method="post" name="vozme_form_44d355435b8f457449de805d71bf0b4d" target="44d355435b8f457449de805d71bf0b4d" action="http://vozme.com/text2voice.php"><input name="text" type="hidden" value="Codeando con Aptana Studio (IDE).. 
Hasta hace unas semanas usaba para el desarrollo web fundamentalmente PHP utilizaba eclipse pdt o phpeclipse, pero los buenos comentarios optenidos acerca de esta IDE que por cierto es creada a partir de eclipse, me llevaron a probarla y los resultados son mas que buenos.
No solamente se puede utilizar el editor de PHP tambien otros lenguajes, que previamente se te preguntara descargar al momento de instalar, tambien incluye una amplia variedad de librerias de Javascript y el desarrollo de aplciaciones en AJAX y para no dejar de sorprender es capaz de utilizar ftp directamente al momento de editar archivos, como si fueran en local.
La puedes descargar gratuitamente, tambien existe una version de pago que ya utiliza herramientas mas complejas como protocolos ftps entre otros.
Para la instalacion en Ubuntu necesitamos tener previamente java
sudo apt-get install sun-java6-jre sun-java6-plugin xulrunne
Salu2
" /><input name="lang" type="hidden" value="es" /><input name="gn" type="hidden" value="ml" /><input type="hidden" id="interface" name="interface" value="full" />
			<div style="margin-left:40%;">
			
				<input style="float:left;" type="image" width="40" height="40" src="http://xyox.info/wp-content/plugins/vozme/img/megaphone40x40w.gif" alt="Escucha este post" onclick="window.open('', '44d355435b8f457449de805d71bf0b4d', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes');">
				<div style="margin-left:48px; text-align:left;"><a style="font-size:12px;" href="javascript:void(0);" onclick="window.open('', '44d355435b8f457449de805d71bf0b4d', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes'); document.getElementById('vozme_form_44d355435b8f457449de805d71bf0b4d').submit();">Escucha<br/>este post</a></div>
			</div></form>]]></content:encoded>
			<wfw:commentRss>http://xyox.info/2009/09/10/codeando-con-aptana-studio-ide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Criptografia en PHP</title>
		<link>http://xyox.info/2008/12/15/criptografia-en-php/</link>
		<comments>http://xyox.info/2008/12/15/criptografia-en-php/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 08:12:01 +0000</pubDate>
		<dc:creator>XYOX</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[criptografia]]></category>
		<category><![CDATA[crypt]]></category>
		<category><![CDATA[md5]]></category>
		<category><![CDATA[sha1]]></category>

		<guid isPermaLink="false">http://xyox.info/?p=220</guid>
		<description><![CDATA[En php 5 contamos con una serie de funciones disponibles para la criptografica tales como el conocido md5, crypt() y sha1() La funcion md5 Esta funcion se encarga de encontrar el algoritmo hash md5, en su primer parametro md5 recibe el String a encriptar, y el segundo recibe un valor booleano, si este es FALSE [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img src="http://farm4.static.flickr.com/3149/3109381281_47c361d2c7_o.jpg" alt="Criptografia en PHP - Blog XYOX" width="156" height="200" /></p>
<p>En php 5 contamos con una serie de funciones disponibles para la criptografica tales como el conocido md5, crypt() y sha1()</p>
<p><span style="text-decoration: underline;">La funcion md5</span></p>
<p>Esta funcion se encarga de encontrar el algoritmo hash md5, en su primer parametro md5 recibe el String a encriptar, y el segundo recibe un valor booleano, si este es FALSE (por defecto) retornara el valor hexadecimal, y si el parametro es TRUE retornara el valor binario.</p>
<p><span style="text-decoration: underline;">La funcion crypt()</span></p>
<p>Encripta una cadena con la diferencia que necesita como segundo parametro una cadena o string adicional para generar la encriptacion, si no se le da una sera asignada aleatoreamente por php.</p>
<p><span style="text-decoration: underline;">La funcion sha1()</span></p>
<p>Esta funcion esta desplazando al clasico md5, utiliza encriptacion de un solo sentido usando el <a href="http://www.faqs.org/rfcs/rfc3174">algoritmo de hash seguro</a>.</p>
<p>Estas puedes utilizar para almacenar valores importantes y que no requieran lectura tales como las contraseñas de los usuarios, en mi opinion prefiero usar sha1.</p>
<p>Saludos <img src='http://xyox.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<form id="vozme_form_cba56881db7bfb1900ba252bfdc57f15" method="post" name="vozme_form_cba56881db7bfb1900ba252bfdc57f15" target="cba56881db7bfb1900ba252bfdc57f15" action="http://vozme.com/text2voice.php"><input name="text" type="hidden" value="Criptografia en PHP.. 
En php 5 contamos con una serie de funciones disponibles para la criptografica tales como el conocido md5, crypt() y sha1()
La funcion md5
Esta funcion se encarga de encontrar el algoritmo hash md5, en su primer parametro md5 recibe el String a encriptar, y el segundo recibe un valor booleano, si este es FALSE (por defecto) retornara el valor hexadecimal, y si el parametro es TRUE retornara el valor binario.
La funcion crypt()
Encripta una cadena con la diferencia que necesita como segundo parametro una cadena o string adicional para generar la encriptacion, si no se le da una sera asignada aleatoreamente por php.
La funcion sha1()
Esta funcion esta desplazando al clasico md5, utiliza encriptacion de un solo sentido usando el algoritmo de hash seguro.
Estas puedes utilizar para almacenar valores importantes y que no requieran lectura tales como las contraseñas de los usuarios, en mi opinion prefiero usar sha1.
Saludos  
" /><input name="lang" type="hidden" value="es" /><input name="gn" type="hidden" value="ml" /><input type="hidden" id="interface" name="interface" value="full" />
			<div style="margin-left:40%;">
			
				<input style="float:left;" type="image" width="40" height="40" src="http://xyox.info/wp-content/plugins/vozme/img/megaphone40x40w.gif" alt="Escucha este post" onclick="window.open('', 'cba56881db7bfb1900ba252bfdc57f15', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes');">
				<div style="margin-left:48px; text-align:left;"><a style="font-size:12px;" href="javascript:void(0);" onclick="window.open('', 'cba56881db7bfb1900ba252bfdc57f15', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes'); document.getElementById('vozme_form_cba56881db7bfb1900ba252bfdc57f15').submit();">Escucha<br/>este post</a></div>
			</div></form>]]></content:encoded>
			<wfw:commentRss>http://xyox.info/2008/12/15/criptografia-en-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CodeIgniter, Framework PHP &#8211; Introduccion</title>
		<link>http://xyox.info/2008/10/27/codeigniter-framework-php-introduccion/</link>
		<comments>http://xyox.info/2008/10/27/codeigniter-framework-php-introduccion/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 04:22:03 +0000</pubDate>
		<dc:creator>XYOX</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[introduccion]]></category>
		<category><![CDATA[mvc]]></category>

		<guid isPermaLink="false">http://xyox.info/?p=215</guid>
		<description><![CDATA[Bueno a decir en los post anteriores trate sobre el modelo MVC en php basicamente consistia en una arquitectura que separaba la capa de base de datos, la del negocio y la del diseño. En mi haber de PHP he usado 3 frameworks, Cake PHP,  Symfony, y CodeIgniter, este ultimo con excelentes resultados, realmente es [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img src="http://farm3.static.flickr.com/2313/2980680718_a5284ba344.jpg" alt="CodeIgniter, Framework PHP - Introduccion - Blog XYOX" width="500" height="191" /></p>
<p>Bueno a decir en los post anteriores trate sobre el modelo MVC en php basicamente consistia en una arquitectura que separaba la capa de base de datos, la del negocio y la del diseño.</p>
<p>En mi haber de PHP he usado 3 frameworks, Cake PHP,  Symfony, y CodeIgniter, este ultimo con excelentes resultados, realmente es un dilema, un ser o no ser que framework escoger para trabajar, si quieres iniciar en el modelo de MVC CodeIgniter es la respuesta.</p>
<p>CodeIgniter es ligero y rapido, puede llegar a compararse con Symfony (quizas el framework mas potente) pero creo que este mencionado necesita mas requerimientos, asi que hay para todos los gustos, sabores y colores.</p>
<p>Concluyendo con esta introduccion CodeIgniter es de rapido aprendizaje y probablemente mas rapido ya que es ligero y Symfony mas robusto, cuenta con mas librerias por ende mas requerimientos (este se instala),  en los posteriores post del blog me dedicare a CodeIgniter y Symfony ambos excelentes frameworks,</p>
<p>Bueno hablando de CodeIgniter tiene una marcada division:</p>
<p>config<br />
controller<br />
error<br />
helpers<br />
hooks<br />
language<br />
libraries<br />
models<br />
views</p>
<p>Aca les dejo la guia de usuarios en español de CodeIgniter</p>
<p><a href="http://www.scribd.com/doc/7571380/CodeIgniter-Spanish-UserGuide-upload-by-xyox">VER MANUAL</a><br />
<a href="http://documents.scribd.com/docs/rohf0d7do0i63qx8j21.pdf">DESCARGAR</a></p>
<form id="vozme_form_00993f622fd797cb71c000ff36db7635" method="post" name="vozme_form_00993f622fd797cb71c000ff36db7635" target="00993f622fd797cb71c000ff36db7635" action="http://vozme.com/text2voice.php"><input name="text" type="hidden" value="CodeIgniter, Framework PHP &#8211; Introduccion.. 
Bueno a decir en los post anteriores trate sobre el modelo MVC en php basicamente consistia en una arquitectura que separaba la capa de base de datos, la del negocio y la del diseño.
En mi haber de PHP he usado 3 frameworks, Cake PHP,  Symfony, y CodeIgniter, este ultimo con excelentes resultados, realmente es un dilema, un ser o no ser que framework escoger para trabajar, si quieres iniciar en el modelo de MVC CodeIgniter es la respuesta.
CodeIgniter es ligero y rapido, puede llegar a compararse con Symfony (quizas el framework mas potente) pero creo que este mencionado necesita mas requerimientos, asi que hay para todos los gustos, sabores y colores.
Concluyendo con esta introduccion CodeIgniter es de rapido aprendizaje y probablemente mas rapido ya que es ligero y Symfony mas robusto, cuenta con mas librerias por ende mas requerimientos (este se instala),  en los posteriores post del blog me dedicare a CodeIgniter y Symfony ambos excelentes frameworks,
Bueno hablando de CodeIgniter tiene una marcada division:
config
controller
error
helpers
hooks
language
libraries
models
views
Aca les dejo la guia de usuarios en español de CodeIgniter
VER MANUAL
DESCARGAR
" /><input name="lang" type="hidden" value="es" /><input name="gn" type="hidden" value="ml" /><input type="hidden" id="interface" name="interface" value="full" />
			<div style="margin-left:40%;">
			
				<input style="float:left;" type="image" width="40" height="40" src="http://xyox.info/wp-content/plugins/vozme/img/megaphone40x40w.gif" alt="Escucha este post" onclick="window.open('', '00993f622fd797cb71c000ff36db7635', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes');">
				<div style="margin-left:48px; text-align:left;"><a style="font-size:12px;" href="javascript:void(0);" onclick="window.open('', '00993f622fd797cb71c000ff36db7635', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes'); document.getElementById('vozme_form_00993f622fd797cb71c000ff36db7635').submit();">Escucha<br/>este post</a></div>
			</div></form>]]></content:encoded>
			<wfw:commentRss>http://xyox.info/2008/10/27/codeigniter-framework-php-introduccion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generando Screenshots de Sitios Web con PHP</title>
		<link>http://xyox.info/2008/10/27/generando-screenshots-de-sitios-web-con-php/</link>
		<comments>http://xyox.info/2008/10/27/generando-screenshots-de-sitios-web-con-php/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 17:41:59 +0000</pubDate>
		<dc:creator>XYOX</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[fichero]]></category>
		<category><![CDATA[funcion]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[ipinfo]]></category>
		<category><![CDATA[screenshot]]></category>
		<category><![CDATA[thumbnail]]></category>

		<guid isPermaLink="false">http://xyox.info/?p=214</guid>
		<description><![CDATA[Bueno realmente no lo vamos hacer directamente con php, si no que a traves de este usaremos el servidor de algun servicio, en este caso ipinfo.info, sin mas detalles aqui esta la pequeña funcion a la que llamaremos screenShotWeb: function screenShotWeb &#40;$url&#41; &#123; require_once &#34;ficheroV2.class.php&#34;; $server = 'http://ipinfo.info/netrenderer/?browser=ie7&#38;url=' . $url; $fp = new Fichero&#40;$server&#41;; $fp-&#62;Gets_cont&#40;&#41;; [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img src="http://farm4.static.flickr.com/3201/2678447500_e155322a5e_o.jpg" alt="Generando Screenshots de Sitios Web con PHP - Blog XYOX" width="469" height="201" /></p>
<p>Bueno realmente no lo vamos hacer directamente con php, si no que a traves de este usaremos el servidor de algun servicio, en este caso ipinfo.info, sin mas detalles aqui esta la pequeña funcion a la que llamaremos screenShotWeb:</p>
<pre class="php"><span style="color: #000000; font-weight: bold;">function</span> screenShotWeb <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
<span style="color: #b1b100;">require_once</span> <span style="color: #ff0000;">&quot;ficheroV2.class.php&quot;</span>;
<span style="color: #0000ff;">$server</span> = <span style="color: #ff0000;">'http://ipinfo.info/netrenderer/?browser=ie7&amp;url='</span> . <span style="color: #0000ff;">$url</span>;
<span style="color: #0000ff;">$fp</span> = <span style="color: #000000; font-weight: bold;">new</span> Fichero<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$server</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0000ff;">$fp</span>-&gt;<span style="color: #006600;">Gets_cont</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0000ff;">$resultado</span> = <span style="color: #0000ff;">$fp</span>-&gt;<span style="color: #006600;">Buscar</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'!http://renderer.geotek.de/image.php<span style="color: #000099; font-weight: bold;">\?</span>imgid=(.*?)&amp;browser=ie7!U'</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0000ff;">$fp</span>-&gt;<span style="color: #006600;">Cierra</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">$resultado</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>;
<span style="color: #66cc66;">&#125;</span></pre>
<p>Como se ve en la funcion necesitara la <a href="http://xyox.info/2008/06/16/clase-fichero-version-20-lanzada-i-parte/">clase Fichero</a> publicada en un <a href="http://xyox.info/2008/06/16/clase-fichero-version-20-lanzada-i-parte/">anterior post</a>, lo que devolvera esta funcion sera la url directa a la imagen o screenshot del sitio.</p>
<p>Un ejemplo de uso:</p>
<pre class="php">&nbsp;
<span style="color: #0000ff;">$imagen</span> = screenShotWeb<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;http://www.xyox.info/&quot;</span><span style="color: #66cc66;">&#41;</span>;
<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">'&lt;img src=&quot; '</span> . <span style="color: #0000ff;">$imagen</span> . <span style="color: #ff0000;">'&quot; /&gt;'</span>;
&nbsp;</pre>
<p>Saludos <img src='http://xyox.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<form id="vozme_form_9714319e0e148badac4dd859dc3eee3c" method="post" name="vozme_form_9714319e0e148badac4dd859dc3eee3c" target="9714319e0e148badac4dd859dc3eee3c" action="http://vozme.com/text2voice.php"><input name="text" type="hidden" value="Generando Screenshots de Sitios Web con PHP.. 
Bueno realmente no lo vamos hacer directamente con php, si no que a traves de este usaremos el servidor de algun servicio, en este caso ipinfo.info, sin mas detalles aqui esta la pequeña funcion a la que llamaremos screenShotWeb:
function screenShotWeb &#40;$url&#41; &#123;
require_once &quot;ficheroV2.class.php&quot;;
$server = &quot;http://ipinfo.info/netrenderer/?browser=ie7&amp;url=&quot; . $url;
$fp = new Fichero&#40;$server&#41;;
$fp-&gt;Gets_cont&#40;&#41;;
$resultado = $fp-&gt;Buscar&#40;&quot;!http://renderer.geotek.de/image.php\?imgid=(.*?)&amp;browser=ie7!U&quot;&#41;;
$fp-&gt;Cierra&#40;&#41;;
return $resultado&#91;0&#93;&#91;0&#93;;
&#125;
Como se ve en la funcion necesitara la clase Fichero publicada en un anterior post, lo que devolvera esta funcion sera la url directa a la imagen o screenshot del sitio.
Un ejemplo de uso:
&nbsp;
$imagen = screenShotWeb&#40;&quot;http://www.xyox.info/&quot;&#41;;
echo &quot;&lt;img src=&quot; &quot; . $imagen . &quot;&quot; /&gt;&quot;;
&nbsp;
Saludos  
" /><input name="lang" type="hidden" value="es" /><input name="gn" type="hidden" value="ml" /><input type="hidden" id="interface" name="interface" value="full" />
			<div style="margin-left:40%;">
			
				<input style="float:left;" type="image" width="40" height="40" src="http://xyox.info/wp-content/plugins/vozme/img/megaphone40x40w.gif" alt="Escucha este post" onclick="window.open('', '9714319e0e148badac4dd859dc3eee3c', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes');">
				<div style="margin-left:48px; text-align:left;"><a style="font-size:12px;" href="javascript:void(0);" onclick="window.open('', '9714319e0e148badac4dd859dc3eee3c', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes'); document.getElementById('vozme_form_9714319e0e148badac4dd859dc3eee3c').submit();">Escucha<br/>este post</a></div>
			</div></form>]]></content:encoded>
			<wfw:commentRss>http://xyox.info/2008/10/27/generando-screenshots-de-sitios-web-con-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

