<?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>Manel García &#187; Tutoriales</title>
	<atom:link href="http://manelgarcia.com/category/recursos-web/tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://manelgarcia.com</link>
	<description>Desarrollo de sitios web para ganar dinero online</description>
	<lastBuildDate>Sat, 07 Apr 2012 10:27:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Los 9 Mejores Plugins Social Media Para WordPress</title>
		<link>http://manelgarcia.com/recursos-web/tutorial/los-9-mejores-plugins-social-media-para-wordpress/</link>
		<comments>http://manelgarcia.com/recursos-web/tutorial/los-9-mejores-plugins-social-media-para-wordpress/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 08:00:05 +0000</pubDate>
		<dc:creator>manelgarcia</dc:creator>
				<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://manelgarcia.com/?p=1109</guid>
		<description><![CDATA[<a href="http://manelgarcia.com/recursos-web/tutorial/los-9-mejores-plugins-social-media-para-wordpress/"><img align="left" hspace="5" width="80" height="80" src="http://manelgarcia.com/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>Los Marcadores Sociales, eso de compartir y recomendar en Internet, está en alza contínua y crece cada día más dado que es una excelenta manera de equilibrar el poder de los visitantes web y su habilidad para compartir buenos contenidos en la red. Los Marcadores Sociales, o también llamados Social Media no son sólo una [...]]]></description>
			<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Los <strong>Marcadores Sociales</strong>, eso de compartir y recomendar en Internet, está en alza contínua y crece cada día más dado que es una excelenta manera de equilibrar el poder de los visitantes web y su habilidad para compartir buenos contenidos en la red.</p>
<p>Los Marcadores Sociales, o también llamados<strong> Social Media</strong> no son sólo una mera herramienta para <strong>generar más tráfico a tu web</strong>, o para <strong>fidelizar los usuarios en tu web</strong> y blog, sino que también podemos y de manera efectiva, <strong>crear backlinks a nuestro sitio</strong>.</p>
<h2>Los 9 Mejores Plugins Para Social Media en Tu Blog WordPress</h2>
<h3>1.	Sexy Bookmarks</h3>
<p><a title="Sexy Bookmarks" href="http://wordpress.org/extend/plugins/sexybookmarks/" target="_blank">Sexy Bookmarks</a> hace ya bastante que corre por la red, y destaca por su limpieza del diseño, y la facilidad para compartir nuestros contenidos con diferentes agregadores, o redes sociales. Dispone de iconos muy vistosos, nos da la posibilidad de colocarlo antes o después del post.</p>
<h3>2.	Social  Bookmarking RELOADED</h3>
<p><a title="Social Bookmarking RELOADED" href="http://wordpress.org/extend/plugins/social-bookmarking-reloaded/" target="_blank">Social Bookmarking RELOADED</a> añade una lista en XHTML de las redes sociales y agregadores al final de cada post o páginad e nuestro WordPress. Su principal característica es que dispone de muchas fuentes para ser agregadas.</p>
<h3>3.	AddToAny: Share/Bookmark/Email Button</h3>
<p><a title="AddToAny" href="http://wordpress.org/extend/plugins/add-to-any/" target="_blank">AddToAny</a> es sin duda uno de los plugins sociales más usados, actualmente te permite compartir tu contenido con más de 125 sitio y puedes elegir cuáles usar cómodamente. Adicionalmente dispone de pestañas dónde el usuario puede compartir tu contenido vía e-mail o guardar-se la página a favoritos.</p>
<h3>4.	Bookmarkify</h3>
<p><a title="Bookmarkify" href="http://wordpress.org/extend/plugins/bookmarkify/" target="_blank">Bookmarkify</a> es un plugin de social media marketing que actualmente incluye unas 50 páginas donde poder compartir el contenido. Dispone de una Cópia HTML que te permite editar su estilo o añadirlo al sidebar</p>
<h3>5.	Digg  Digg</h3>
<p><a title="Digg Digg" href="http://wordpress.org/extend/plugins/digg-digg/" target="_blank">Digg  Digg</a> se ha hecho popular porque es de los únicos plugins que es capaz de medir cuantos veces tu artículo ha sido compartido y porqué sitio web social. De momento sólo soporta 15 sitios web sociales.</p>
<h3>6. 	Share and Follow</h3>
<p><a title="Share  and Follow" href="http://wordpress.org/extend/plugins/share-and-follow/" target="_blank">Share and Follow</a> fué diseñado con el objetivo de ser muy fácil de usar. Es perfecto para webmasters que están preocupados sólo con los sitios más populares. Es muy flexible y puede ser usado ya sea cómo widget, enlace, template tag o añadido automáticamente.</p>
<h3>7. <a onmouseover="self.status='http://www.famousbloggers.net/go/fbads';return  true;" onmouseout="self.status=''" href="http://www.famousbloggers.net/go/fbads">Facebook</a> I Like Button</h3>
<p>El plugin <a title="Facebook I Like Button" href="http://wordpress.org/extend/plugins/fbog-ilike-button/" target="_blank">Facebook I Like Button</a> fué diseñado específicamente para permitir a los lectores de tu blog establecer conexiones entre tus el perfil de facebook de tu visitante y el mismo contenido del post con un simple click. Se implementa fácilmente con un iframe y no es necesario saber ningún tipo de código para implementarlo. También puede ser personalizado fácilmente.</p>
<p>Tienes un artículo que explica cómo <a title="añadir boton facebook blog" href="http://manelgarcia.com/recursos-web/anadir-boton-i-like-it-de-facebook-facilmente-en-tu-blog/"><strong>añadir el botón like de facebook en tu blog facilmente</strong></a>.</p>
<h3>8.	 Publish 2 Ping.fm</h3>
<p><a title="Publish 2  Ping.fm" href="http://wordpress.org/extend/plugins/publish-2-pingfm/" target="_blank">Publish 2 Ping.fm</a> permite que tus posts sean publicados automáticamente en ping.fm. Seleccionas la categoría, la plantilla de publicación, hasta te crea automáticamente urls bit.ly para tu contenido.</p>
<h3>9.	Socialize This</h3>
<p><a title="Socialize This" href="http://wordpress.org/extend/plugins/socialize-this/" target="_blank">Socialize This</a> te permite crear fácilmente widgets sociales para tus posts o páginas de tu blog. Con muy poca configuración puedes integrar el plugin con tu diseño de wordpress. Además te permite publicar vía twitter cada vez que creas un post y te crear urls cortas automáticamente.</p>
<p>Todos los plugins son compatibles con wordpress 2.9.2 y tendrán sus versiones para wordpress 3.0 próximamente.</p>
<p><strong>¿Cuales usáis vosotros?</strong></p>
<div class="shr-publisher-1109"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://manelgarcia.com/recursos-web/tutorial/los-9-mejores-plugins-social-media-para-wordpress/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Crea Tu Propio Acortador de URLs Con 2 Líneas de PHP y Una Cuenta en Bit.ly</title>
		<link>http://manelgarcia.com/recursos-web/tutorial/crea-tu-propio-acortador-de-urls-con-2-lineas-de-php-y-una-cuenta-en-bit-ly/</link>
		<comments>http://manelgarcia.com/recursos-web/tutorial/crea-tu-propio-acortador-de-urls-con-2-lineas-de-php-y-una-cuenta-en-bit-ly/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 15:09:56 +0000</pubDate>
		<dc:creator>manelgarcia</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[acortador url]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[bit.ly]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[url shortener]]></category>

		<guid isPermaLink="false">http://manelgarcia.com/?p=902</guid>
		<description><![CDATA[<a href="http://manelgarcia.com/recursos-web/tutorial/crea-tu-propio-acortador-de-urls-con-2-lineas-de-php-y-una-cuenta-en-bit-ly/"><img align="left" hspace="5" width="80" height="80" src="http://manelgarcia.com/wp-content/uploads/2010/02/bitly-150x150.jpg" class="alignleft wp-post-image tfe" alt="" title="bitly" /></a>Digamos que necesitas o te hace gracia tener tu propio acortador de URL&#8217;s y encima tienes la potra de que las últimas letras de tu nombre son un ccTLD (un dominio de un país) por ejemplo: Benito, pues bien Benito, si te compras el dominio beni.to y te creas una cuenta en bit.ly en un [...]]]></description>
			<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><a href="http://manelgarcia.com/wp-content/uploads/2010/02/bitly.jpg"><img class="alignleft size-full wp-image-907" title="bitly" src="http://manelgarcia.com/wp-content/uploads/2010/02/bitly.jpg" alt="" width="250" height="250" /></a>Digamos que necesitas o te hace gracia tener tu propio <strong>acortador de URL&#8217;s</strong> y encima tienes la potra de que las últimas letras de tu nombre son un <strong>ccTLD</strong> (un dominio de un país) por ejemplo: Benito, pues bien Benito, si te compras el dominio beni.to y te creas una cuenta en bit.ly en un plisplas puedes tener un propio acortador de url&#8217;s, sí sí, cómo Google! (http://goo.gl)</p>
<h2>¿Qué es Bit.ly?</h2>
<p><a href="http://bit.ly" target="_blank"><strong>Bit.ly</strong></a> es uno de los más famosos <strong>acortadores de url</strong> que puedes en encontrar en internet actualmente, se usa sobretodo en redes sociales cómo twitter y sus millones de aplicaciones que hay detrás, casi nada.</p>
<h2>¿Para que sirve Bit.ly?</h2>
<p>En <strong>Twitter</strong> por ejemplo sólo puedes &#8220;twittear&#8221; mensajes de hasta 140 carácteres, un acordator de urls te permite ganar carácteres si tu url original es muuuy larga.</p>
<p>También te puede ser útil para <strong>camuflar tus enlaces</strong> si no quieres que la gente vea la url que hay detrás antes de clicar.</p>
<p>Y encima <strong>Bit.ly te genera estadísticas</strong> de tus clics con lo que encima puedes hasta saber quien te está clicando y desde donde.</p>
<h2>El Código PHP</h2>
<p>Recuerda que debes crearte una cuenta en Bit.ly e ir a buscar tu api key <a href="http://bit.ly/account/your_api_key/" target="_blank">aqui</a>.</p>
<pre class="brush: php; title: ; notranslate">
/* como crear tu propio acortador de urls en 2 líneas de php */
function acortarUrl($url,$login,$apikey,$format = 'xml',$version = '2.0.1')
{
	// creamos la url para hacer la peticion a la API
	$uri = 'http://api.bit.ly/shorten?version='.$version.'&amp;longUrl='.urlencode($url).'&amp;login='.$login.'&amp;apiKey='.$apikey.'&amp;format='.$format;
	// cargamos el fichero xml de respuesta
	$xml = simplexml_load_file($uri);
	// devolvemos la variable con la url
	return $xml-&gt;results-&gt;nodeKeyVal-&gt;shortUrl;

}
</pre>
<p>Y para usar el script tan senzillo cómo:</p>
<pre class="brush: php; title: ; notranslate">
/* uso */
define(API_USER,'usuario');
define(API_KEY,'la_api_key_aqui');

$urlcorta = acortarUrl('http://www.manelgarcia.com',API_USER,API_KEY);
echo 'La URL corta es:  '.$urlcorta;
</pre>
<div class="shr-publisher-902"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://manelgarcia.com/recursos-web/tutorial/crea-tu-propio-acortador-de-urls-con-2-lineas-de-php-y-una-cuenta-en-bit-ly/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>20 mejores prácticas para MySQL</title>
		<link>http://manelgarcia.com/recursos-web/tutorial/20-mejores-practicas-para-mysql/</link>
		<comments>http://manelgarcia.com/recursos-web/tutorial/20-mejores-practicas-para-mysql/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 10:00:21 +0000</pubDate>
		<dc:creator>manelgarcia</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[optimizar]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://manelgarcia.com/?p=690</guid>
		<description><![CDATA[<a href="http://manelgarcia.com/recursos-web/tutorial/20-mejores-practicas-para-mysql/"><img align="left" hspace="5" width="80" height="80" src="http://manelgarcia.com/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>En nettuts han colgado un interesante post de Burak Guzel dónde explica las 20 mejores practicas en MySQL. No las voy a traducir todas, sólo las que a mi me parece son más útiles o las que más &#8220;me paso por el foro&#8221;. LIMIT 1 Cuando sólo vas a sacar una línea. Muchas veces nos [...]]]></description>
			<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>En <a href="http://net.tutsplus.com/" target="_blank"><strong>nettuts</strong></a> han colgado un interesante post de <a href="http://www.phpandstuff.com/" target="_blank"><strong>Burak Guzel</strong> </a>dónde explica las <a href="http://net.tutsplus.com/tutorials/other/top-20-mysql-best-practices/" target="_blank"><strong>20 mejores practicas en MySQL</strong></a>. No las voy a traducir todas, sólo las que a mi me parece son más útiles o las que más &#8220;me paso por el foro&#8221;.</p>
<ul>
<li><strong>LIMIT 1 Cuando sólo vas a sacar una línea</strong>. Muchas veces nos pasa que de entrada ya sabemos que sólo vamos a sacar 1 fila de nuestra consulta. Añadiendo LIMIT 1 forzamos a MySQL a parar y así no recorrer la tabla entera.
<pre lang="php">// tengo algun usuario en Badalona?

// que NO hacer:
$r = mysql_query("SELECT * FROM usuarios WHERE localidad = 'Badalona'");
if (mysql_num_rows($r) &gt; 0) {
	// ...
}

// Mucho mejor:
$r = mysql_query("SELECT 1 FROM usuarios WHERE localidad = 'Badalona' LIMIT 1");
if (mysql_num_rows($r) &gt; 0) {
	// ...
}</pre>
</li>
<li><strong>N</strong><strong>O uses ORDER BY RAND()</strong>. Dice Burak que utilizar RAND() es un grave error ya que MySQL usa mucha potencia con esta función. Y con el aumento de datos en nuestra base de datos se puede crear un embudo. Nos propone una solución alternativa:
<pre lang="php">// que NO hacer:
$r = mysql_query("SELECT nombre FROM usuarios ORDER BY RAND() LIMIT 1");

// Mucho mejor:

$r = mysql_query("SELECT count(*) FROM usuarios");
$d = mysql_fetch_row($r);
$rand = mt_rand(0,$d[0] - 1);

$r = mysql_query("SELECT nombre FROM usuarios LIMIT $rand, 1");</pre>
</li>
</ul>
<ul>
<li><strong>Evita el SELECT *</strong>. A más datos en nuestra base de datos, más lenta se ejecutará la consulta. Comenta que es un buen habito especificar que campos queremos en cada SELECT que usamos.
<pre lang="php">// no es preferible hacer eso
$r = mysql_query("SELECT * FROM usuarios WHERE id = 1");
$d = mysql_fetch_assoc($r);
echo "Bienvenido {$d['nombre']}";

// mucho mejor:
$r = mysql_query("SELECT nombre FROM usuarios WHERE id = 1");
$d = mysql_fetch_assoc($r);
echo "Welcome {$d['nombre']}";

// las diferencias son mucho más notables con muchos datos en la base de datos</pre>
</li>
</ul>
<ul>
<li><strong>Usa casi siempre un campo id:</strong> Siempre que puedas usa un campo id que sea la PRIMARY KEY y se autoincremente. Aunque en nuestra tabla tengamos un campo único &#8216;username&#8217; los STRINGS siempre son más lentos que los INT.</li>
</ul>
<ul>
<li><strong>Usa ENUM en lugar de VARCHAR</strong>: Las columnas tipo ENUM son muy rápidas y compactas. Internamente están interpretadas cómo TINYINT pero podemos guarder dentro  cadenas de texto. Es muy útil para campos que sabemos de entrada que contienen pequeño texto tipo : estado (pendiente, activo, inactivo..)</li>
</ul>
<ul>
<li><strong>Evita los campos NULL</strong>: si te da igual tener un campo vacío que NULL, usa siempre NOT NULL. En MySQL NULL require un espacio adicional.</li>
</ul>
<ul>
<li><strong>G</strong><strong>uarda las IP&#8217;s cómo UNSIGNED INT</strong>: Muchos programadores usan un VARCHAR (15) para guardar las IP&#8217;s pero deben saber que guardarlos cómo INT requiere mucho menos espacio (4kb). Para guardar y devolver IP&#8217;s como INT en MySQL podemos usar las siguientes funciones: INET_ATON() y INET_NTOA() muy parecidas a las funciones php ip2long() y long2ip().
<pre lang="php">$r = "UPDATE usuarios SET ip = INET_ATON('{$_SERVER['REMOTE_ADDR']}') WHERE id = $id";</pre>
</li>
</ul>
<div class="shr-publisher-690"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://manelgarcia.com/recursos-web/tutorial/20-mejores-practicas-para-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plantillas CSS Gratis de Casino y Apuestas Online</title>
		<link>http://manelgarcia.com/recursos-web/tutorial/plantillas-css-gratis-de-casino-y-apuestas-online/</link>
		<comments>http://manelgarcia.com/recursos-web/tutorial/plantillas-css-gratis-de-casino-y-apuestas-online/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 14:06:06 +0000</pubDate>
		<dc:creator>manelgarcia</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[juegos]]></category>
		<category><![CDATA[minisitios]]></category>
		<category><![CDATA[plantilla css]]></category>
		<category><![CDATA[poker]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://manelgarcia.com/?p=641</guid>
		<description><![CDATA[<a href="http://manelgarcia.com/recursos-web/tutorial/plantillas-css-gratis-de-casino-y-apuestas-online/"><img align="left" hspace="5" width="80" height="80" src="http://manelgarcia.com/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>Estoy preparando unos minisitios de gambling para probar unos sistemas de afiliados que me han recomendado y he encontrado varias plantillas gratis en css para descargar sobre temática de gambling, poker online, bingo blackjack etc&#8230; Aquí os dejo los enlaces: http://templatenavigator.com/flashstore/show-category-gambling.html http://www.gamblingtemplates.net/ http://www.templateworld.com/casino_and_gambling.html http://www.gamblingtemplates.co.uk/]]></description>
			<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Estoy preparando unos <a title="minisitios" href="http://www.minisitios.biz" target="_blank"><strong>minisitios</strong></a> de gambling para probar unos sistemas de afiliados que me han recomendado y he encontrado varias <strong>plantillas gratis en css para descargar</strong> sobre temática de gambling, poker online, bingo blackjack etc&#8230;</p>
<p>Aquí os dejo los enlaces:</p>
<ul>
<li><a href="http://templatenavigator.com/flashstore/show-category-gambling.html" target="_blank">http://templatenavigator.com/flashstore/show-category-gambling.html</a></li>
<li><a href="http://www.gamblingtemplates.net/" target="_blank">http://www.gamblingtemplates.net/</a></li>
<li><a href="http://www.templateworld.com/casino_and_gambling.html" target="_blank">http://www.templateworld.com/casino_and_gambling.html</a></li>
<li><a href="# http://www.gamblingtemplates.co.uk/" target="_blank">http://www.gamblingtemplates.co.uk/</a></li>
</ul>
<div class="shr-publisher-641"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://manelgarcia.com/recursos-web/tutorial/plantillas-css-gratis-de-casino-y-apuestas-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo enviar mails con archivos adjuntos en PHP</title>
		<link>http://manelgarcia.com/recursos-web/tutorial/como-enviar-mails-con-archivos-adjuntos-en-php/</link>
		<comments>http://manelgarcia.com/recursos-web/tutorial/como-enviar-mails-con-archivos-adjuntos-en-php/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 08:20:11 +0000</pubDate>
		<dc:creator>manelgarcia</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[archivo adjunto]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[mail adjunto]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://manelgarcia.com/?p=529</guid>
		<description><![CDATA[<a href="http://manelgarcia.com/recursos-web/tutorial/como-enviar-mails-con-archivos-adjuntos-en-php/"><img align="left" hspace="5" width="80" height="80" src="http://manelgarcia.com/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>Muchas son las veces que queremos automatizar procesos para ganar tiempo cómo por ejemplos los envíos de correos electrónicos. Vengo trabajando en el Gestor de pedidos para Butonet y la verdad es que me he topado con la necesidad de poder enviar archivos con un PDF adjunto que se genera automáticamente con los precios de [...]]]></description>
			<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Muchas son las veces que queremos automatizar procesos para ganar tiempo cómo por ejemplos los envíos de correos electrónicos.</p>
<p>Vengo trabajando en el Gestor de pedidos para Butonet y la verdad es que me he topado con la necesidad de poder enviar archivos con un PDF adjunto que se genera automáticamente con los precios de los productos elejidos por el cliente.</p>
<p>Para que conste ya de inicio, la gran mayoría de gente cuando preuntas o te informas te recomienda dejar de programar esas cosas a pelo y hacer uso de scripts o aplicaciones más fiables como PHPMailer una clase escrita en PHP que ya tiene todos los modulos necesarios añadidos para que no tengas que programar ni una línea. Pero cómo cazurro que soy, yo quiería hacerlo y no paré hasta que lo hice.</p>
<p>Os muestro el código para poder enviar mails con archivos adjuntos en PHP a continuación:</p>
<pre lang="php" line="1">
<?php

// datos basicos del correo
$to = 'para@quien.com';
$subject = 'asunto del correo';
$from = 'quien@envia.com';

// necesitamos crear una cadéna única,así que haremos uso de md5 para poder crear el hash
$random_hash = md5(date('r', time()));

// que headers queremos
$headers = "From: $from
Reply-To: $from";
$headers .= "
Content-Type: multipart/mixed; boundary="PHP-mixed-".$random_hash.""";

// miramos los datos del archivo adjunto
$filename = $_FILES["userfile"]["name"]; // nombre del archivo
$filetype = $_FILES["userfile"]["type"]; // cuando pesa en bytes
$filetemp = $_FILES["userfile"]["tmp_name"]; // nombre temporal antes de ser reescribido

// ahora viene la chicha:  leemos el archivo y lo guardamos en una cadena que comprimiremos con MIME base64 y la partiremos en pequeñas porciones.
$data = base64_encode($filename);

// vamos a por el cuerpo del mensaje y encendemos los buffers de salida para que no imprima nada
ob_start();
?>
--PHP-mixed-<?php echo $random_hash; ?>
Content-Type: multipart/alternative; boundary="PHP-alt-<?php echo $random_hash; ?>"

--PHP-alt-<?php echo $random_hash; ?>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hey gente aqui el cuerpo del mensaje!!

Podemos poner <? echo $variables; ?>!

--PHP-alt-<?php echo $random_hash; ?>
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
<h1>Ahora el cuerpo pero con HTML!</h1>

Fácil y divertido, ah y también podemos añadir <? echo $variables; ?>!

--PHP-alt-<?php echo $random_hash; ?>--

--PHP-mixed-<?php echo $random_hash; ?>
Content-Type: $filetype; name=$filename
Content-Transfer-Encoding: base64
Content-Disposition: attachment

<?php echo $data; ?>
--PHP-mixed-<?php echo $random_hash; ?>--

<?php
//guardamos todo el contenido del búffer en una variable
$message = ob_get_clean();

// y mandamos el email!
$mail_sent = @mail( $to, $subject, $message, $headers );

?>
</pre>
<p>¿En realidad tampoco es tan difícil no? ¿Alguna duda? ¿Qué os parece?</p>
<div class="shr-publisher-529"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://manelgarcia.com/recursos-web/tutorial/como-enviar-mails-con-archivos-adjuntos-en-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS: Listas personalizadas usando imagenes</title>
		<link>http://manelgarcia.com/recursos-web/tutorial/css-tutorial/css-listas-personalizadas-usando-imagenes/</link>
		<comments>http://manelgarcia.com/recursos-web/tutorial/css-tutorial/css-listas-personalizadas-usando-imagenes/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 16:05:18 +0000</pubDate>
		<dc:creator>manelgarcia</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[aprender css]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[listas css]]></category>

		<guid isPermaLink="false">http://manelgarcia.com/?p=431</guid>
		<description><![CDATA[<a href="http://manelgarcia.com/recursos-web/tutorial/css-tutorial/css-listas-personalizadas-usando-imagenes/"><img align="left" hspace="5" width="80" height="80" src="http://manelgarcia.com/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>Sigo con algunos consejos para aprender CSS. Hoy he necesitado usar una lista en CSS dónde los &#8216;bullets&#8217; o símbolos que marcan cada elemento de una lista fuesen imagenes. Os dejo el código aquí para quien le pueda ser de utilidad. Aqui nuestro código HTML para crear la lista: elemento 1 elemento 2 elemento 3 [...]]]></description>
			<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Sigo con algunos <strong>consejos para aprender CSS</strong>.</p>
<p>Hoy he necesitado usar una<strong> lista en CSS</strong> dónde los &#8216;bullets&#8217; o símbolos que marcan cada elemento de una lista fuesen imagenes. Os dejo el código aquí para quien le pueda ser de utilidad.</p>
<p>Aqui nuestro código HTML para crear la lista:<br />
<code></p>
<div id="block">
<ul>
<li class="features">elemento 1</li>
<li class="features">elemento 2</li>
<li class="features">elemento 3</li>
<li class="features">elemento 4</li>
<li class="features">elemento 5</li>
</ul>
</div>
<p></code><br />
Y a continuación el código CSS<br />
<code><br />
#block ul li{	list-style-image:url('imagen.jpg');  }<br />
</code></p>
<div class="shr-publisher-431"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://manelgarcia.com/recursos-web/tutorial/css-tutorial/css-listas-personalizadas-usando-imagenes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hosting Gratis con MySQL</title>
		<link>http://manelgarcia.com/recursos-web/tutorial/hosting-con-mysql-gratis/</link>
		<comments>http://manelgarcia.com/recursos-web/tutorial/hosting-con-mysql-gratis/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 16:38:47 +0000</pubDate>
		<dc:creator>manelgarcia</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[hosting gratis]]></category>
		<category><![CDATA[hosting mysql gratis]]></category>
		<category><![CDATA[hosting php]]></category>
		<category><![CDATA[hosting php gratis]]></category>

		<guid isPermaLink="false">http://manelgarcia.com/?p=34</guid>
		<description><![CDATA[<a href="http://manelgarcia.com/recursos-web/tutorial/hosting-con-mysql-gratis/"><img align="left" hspace="5" width="80" height="80" src="http://manelgarcia.com/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>Hoy en día para alguien que dispone de muchos sitios web pagarse los hostings individualmente puede salirle muy caro. Una alternativa puede ser usar esos hostings gratis de calidad que ofrecen servicios cómo basees de datos mysql o trasnferencias de datos mensuales muy aceptables. Así es, la muchas empresas ofrecen este servicio de hosting gratis [...]]]></description>
			<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Hoy en día para alguien que dispone de muchos sitios web pagarse los hostings individualmente puede salirle muy caro. Una alternativa puede ser usar esos hostings gratis de calidad que ofrecen servicios cómo basees de datos mysql o trasnferencias de datos mensuales muy aceptables.</p>
<p>Así es, la muchas empresas ofrecen este servicio de <strong>hosting gratis con mysql</strong>, totalmente gratuito con las siguientes prestaciones:</p>
<ul>
<li>1500 megas de espacio en disco</li>
<li>100Gb de transferencia mensual</li>
<li>PHP con la función mail() activada</li>
<li>Curl, GD2 library, ImageMagick, Zend</li>
<li>fopen() y MySQL sockets</li>
<li>safe_mode esta OFF, file uploads ON</li>
<li>soporta Zend Optimizer, Ioncube loader.. y muchas más características habilitadas!</li>
</ul>
<p>El <strong>alojamiento web gratis</strong> se crea automáticamente (menos de 1minuto) y te da la opción de crear un subdominio o utilizar tu propio dominio, en el segundo caso te provée de sus propias DNS para apuntar al dominio. Todo muy fácil.</p>
<p>Realmente es uno de los pocos servicios de hosting gratis que funciona con regularidad y sin caídas, a parte de que<strong> no hay publicidad.</strong></p>
<p>Yo ya lo uso para la creación de blogs usando WordPress.</p>
<p>Podéis crear vuestro <strong>alojamiento gratuito</strong> clicando aqui</p>
<div class="shr-publisher-34"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://manelgarcia.com/recursos-web/tutorial/hosting-con-mysql-gratis/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>¿Para que sirven la Galerias CSS?</title>
		<link>http://manelgarcia.com/recursos-web/tutorial/%c2%bfpara-que-sirven-la-galerias-css/</link>
		<comments>http://manelgarcia.com/recursos-web/tutorial/%c2%bfpara-que-sirven-la-galerias-css/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 08:32:10 +0000</pubDate>
		<dc:creator>manelgarcia</dc:creator>
				<category><![CDATA[Tutoriales]]></category>

		<guid isPermaLink="false">http://manelgarcia.com/?p=332</guid>
		<description><![CDATA[<a href="http://manelgarcia.com/recursos-web/tutorial/%c2%bfpara-que-sirven-la-galerias-css/"><img align="left" hspace="5" width="80" height="80" src="http://manelgarcia.com/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>Las galerías CSS, són un tipo de sitios web dónde muestran y promocionan un listado de sitios. Normalmente con un estilo y diseño bastante cuidado. ¿Para que puede servir eso? Si diseñamos páginas web nos va ideal. Podemos crear nuestro sitio corporativo enfocado directamente a aparecer en estos sitios ya que son periódicamente chequeador por [...]]]></description>
			<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Las galerías CSS, són un tipo de sitios web dónde muestran y promocionan un listado de sitios. Normalmente con un estilo y diseño bastante cuidado. ¿Para que puede servir eso?</p>
<p>Si diseñamos páginas web nos va ideal. Podemos crear nuestro sitio corporativo enfocado directamente a aparecer en estos sitios ya que son periódicamente chequeador por algunos de nuestros clientes potenciales. Ganaremos en buzz, visitas y marca.</p>
<p>Indirectamente también ganamos algunos enlaces y mejoramos nuestro posicionamiento en los buscadores.</p>
<p>El otro uso que se le dá a esas galerías es el de la inspiración. Algunas veces sin saber que color usar, tipografia, cómo distribuir los menús de mi sitio etc.. Aquí también nos pueden ser mucho de ayuda.</p>
<p>Os dejo a continuación algunas de las galerías CSS más populares en la red.</p>
<ul>
<li><cite>www.<strong>css</strong>drive.com</cite></li>
<li><cite>www.<strong>css</strong>elite.com</cite></li>
<li>http://www.css-website.com/</li>
<li>http://www.cssheroes.com/</li>
<li>http://www.urbantrash.net/cssgallery/</li>
<li>http://www.divinecss.com/</li>
<li>http://www.thecssgallerylist.com/</li>
<li>http://www.cssperk.com/</li>
<li>http://www.cssbeauty.com/gallery/</li>
<li>http://cssvault.com/</li>
<li>http://www.cssbreeze.com/</li>
<li>http://www.cssmix.nl/</li>
<li>http://www.csszone.org/</li>
<li>http://www.cssclip.com/</li>
<li>http://www.cssbag.com/</li>
<li>http://www.csscatwalk.com/</li>
<li>http://www.cssdaddy.com/</li>
<li>http://www.css20.com/</li>
<li>http://www.cssburst.com/</li>
<li>http://cssfury.com/</li>
</ul>
<div class="shr-publisher-332"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://manelgarcia.com/recursos-web/tutorial/%c2%bfpara-que-sirven-la-galerias-css/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Crear fácilmente archivos con PHP</title>
		<link>http://manelgarcia.com/recursos-web/tutorial/crear-archivos-con-php/</link>
		<comments>http://manelgarcia.com/recursos-web/tutorial/crear-archivos-con-php/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 16:41:49 +0000</pubDate>
		<dc:creator>manelgarcia</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[archivos y php]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php crear archivo]]></category>

		<guid isPermaLink="false">http://manelgarcia.com/?p=290</guid>
		<description><![CDATA[<a href="http://manelgarcia.com/recursos-web/tutorial/crear-archivos-con-php/"><img align="left" hspace="5" width="80" height="80" src="http://manelgarcia.com/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>Es el turno ahora de saber cómo crear archivos usando PHP. Esto nos puede ser muy útil en algunos casos ya sea para almacenar datos, o para automatizar procesos. Sin ir más lejos el mismo sistema de publicación que uso en mi blog &#8220;WordPress&#8221; crea el archivo de instalación si no existe para que así [...]]]></description>
			<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Es el turno ahora de saber cómo crear archivos usando PHP. Esto nos puede ser muy útil en algunos casos ya sea para almacenar datos, o para automatizar procesos. Sin ir más lejos el mismo sistema de publicación que uso en mi blog &#8220;WordPress&#8221; crea el archivo de instalación si no existe para que así al entrar los datos de nuestra base de datos se conecte automáticamente.</p>
<p>Vamos con el código para crear archivos:</p>
<p><code>$nombre_archivo = "archivo.php";<br />
$control_archivo = fopen($</code><code>nombre_archivo</code><code>, 'w') or die("no se puede abrir");<br />
fclose($</code><code>control_archivo</code><code>);<br />
</code></p>
<p>¡Tan fácil cómo eso!</p>
<div class="shr-publisher-290"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://manelgarcia.com/recursos-web/tutorial/crear-archivos-con-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Listas horizontales con CSS</title>
		<link>http://manelgarcia.com/recursos-web/tutorial/listas-horizontales-con-css/</link>
		<comments>http://manelgarcia.com/recursos-web/tutorial/listas-horizontales-con-css/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 16:17:03 +0000</pubDate>
		<dc:creator>manelgarcia</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[crear listas css]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css listas]]></category>
		<category><![CDATA[css listas horizontales]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[lista horizontal]]></category>

		<guid isPermaLink="false">http://manelgarcia.com/?p=282</guid>
		<description><![CDATA[<a href="http://manelgarcia.com/recursos-web/tutorial/listas-horizontales-con-css/"><img align="left" hspace="5" width="80" height="80" src="http://manelgarcia.com/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>En esta ocasión os mostraré cómo crear una lista horizontal en CSS.  Cómo no es una tarea estresante pegaré el código y iré explicando el uso de cada línea. Código CSS: #lista li { display: inline; list-style-type: none; padding-right: 20px; } Cómo véis utilizamos un identificador (#lista) para poder seguir disponiendo de la etiqueta &#60;li&#62; [...]]]></description>
			<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>En esta ocasión os mostraré cómo <strong>crear una lista horizontal</strong> en <a href="http://en.wikipedia.org/wiki/Cascading_Style_Sheets" target="_blank">CSS</a>.  Cómo no es una tarea estresante pegaré el código y iré explicando el uso de cada línea.</p>
<p>Código CSS:</p>
<p><code>#lista li<br />
{<br />
display: inline;<br />
list-style-type: none;<br />
padding-right: 20px;<br />
}</code></p>
<p>Cómo véis utilizamos un identificador (#lista) para poder seguir disponiendo de la etiqueta &lt;li&gt; <em>virgen</em>. A posteriori le decimos que la lista nos la muestre en una línea (display:inline) y no le damos ningún estilo (lo que en las listas tradicionales serian los &#8220;bullets&#8221; o estrellitas que encabezan cada elemento de la lista. Y finalmente le decimos que nos de un espacio de 20px entre elementos a la derecha. ¿sencillo no?</p>
<p>Código HTML para utilizar las listas hirizontales con CSS:</p>
<p><code>&lt;ul id="lista"&gt;<br />
&lt;li&gt;&lt;a href="#"&gt;Sección 1&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href="#"&gt;Sección 2&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href="#"&gt;Sección 3&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href="#"&gt;Sección 4&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href="#"&gt;Sección 5&lt;/a&gt;&lt;/li&gt;<br />
&lt;/ul&gt;</code></p>
<p>No creo que tenga mucho a comentar, lista tradicional en HTML aplicándole la ID creada en la hoja de estilos.</p>
<p>Podeis ver el resultado final haciendo<a href="http://manelgarcia.com/tutoriales/css/listas-horizontales/" target="_self"> click aquí.</a></p>
<div class="shr-publisher-282"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://manelgarcia.com/recursos-web/tutorial/listas-horizontales-con-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

