<?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>Emerson Carvalho &#187; PHP</title>
	<atom:link href="http://www.emersoncarvalho.com/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.emersoncarvalho.com</link>
	<description>Php, Javascript, Flex, MySql, ZendFramework and more...</description>
	<lastBuildDate>Wed, 01 Feb 2012 10:49:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Zend Framework Controller Action Helpers</title>
		<link>http://www.emersoncarvalho.com/zend-framework-controller-action-helpers/</link>
		<comments>http://www.emersoncarvalho.com/zend-framework-controller-action-helpers/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 17:35:56 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[different view]]></category>
		<category><![CDATA[disable layout]]></category>
		<category><![CDATA[http request]]></category>
		<category><![CDATA[render]]></category>
		<category><![CDATA[renderizar]]></category>
		<category><![CDATA[view]]></category>
		<category><![CDATA[view renderer]]></category>
		<category><![CDATA[ZF]]></category>

		<guid isPermaLink="false">http://emersoncarvalho.com/?p=180</guid>
		<description><![CDATA[Olá galera, Vou mostar algums Helpers bem úteis do Zend Framework. Desabilitar a renderização do Layout Usamos esse helper, quando queremos que o Zend não renderize o Layout, renderizando somente a view referente ao action. Renderizar um layout diferente Usamos esse helper, quando queremos que o Zend renderize um layout diferente do layout padrão. Desabilitar [...]]]></description>
			<content:encoded><![CDATA[<p>Olá galera,</p>
<p>Vou mostar algums Helpers bem úteis do Zend Framework.<span id="more-180"></span></p>
<p><strong>Desabilitar a renderização do Layout</strong><br />
Usamos esse helper, quando queremos que o Zend não renderize o Layout, renderizando somente a view referente ao action.</p>
<pre class="brush: php; title: ; notranslate">
$this-&gt;_helper-&gt;layout()-&gt;disableLayout();
</pre>
<p><strong>Renderizar um layout diferente</strong><br />
Usamos esse helper, quando queremos que o Zend renderize um layout diferente do layout padrão.</p>
<pre class="brush: php; title: ; notranslate">
$this-&gt;_helper-&gt;layout()-&gt;setLayout('novo_layout');
</pre>
<p><strong>Desabilitar a renderização da View</strong><br />
Quando precisamos que o Zend não renderize a view, usamos esse helper</p>
<pre class="brush: php; title: ; notranslate">
$this-&gt;_helper-&gt;viewRenderer-&gt;setNoRender(true);
</pre>
<p><strong>Renderizar uma view específica</strong></p>
<pre class="brush: php; title: ; notranslate">
$this-&gt;_helper-&gt;viewRenderer('VIEW QUE DESEJA RENDERIZAR', null, true);
</pre>
<p><strong>Verificar se a Requisição é XmlHttpRequest</strong><br />
Outro helper interessante é para verificar se a Requisição é XmlHttpRequest ( usado na requisição ajax )</p>
<pre class="brush: php; title: ; notranslate">
if($this-&gt;_isXmlHttpRequest())
{
    //é requisição ajax.
}
</pre>
<p>Espero que tenham gostado.<br />
Obrigado.</p>
<p>FONTE: <a title="Zend Framework" href="http://framework.zend.com/manual/en/zend.controller.actionhelpers.html" target="_blank">http://framework.zend.com/manual/en/zend.controller.actionhelpers.html</a></p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "render";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/zend-framework-controller-action-helpers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Editando php.ini no MAMP PRO</title>
		<link>http://www.emersoncarvalho.com/editando-php-ini-no-mamp-pro/</link>
		<comments>http://www.emersoncarvalho.com/editando-php-ini-no-mamp-pro/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 00:06:21 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[alterar configs php]]></category>
		<category><![CDATA[alterar php.ini]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mamp]]></category>
		<category><![CDATA[mamp pro]]></category>
		<category><![CDATA[php.ini]]></category>

		<guid isPermaLink="false">http://www.emersoncarvalho.com/?p=271</guid>
		<description><![CDATA[Olá galera, hoje vou dar uma dica que é bem simples: Usando o MAMP Pro eu tentei alterar o php.ini e não conseguia, entrei  pelo terminal como root, fui até o caminho do php.ini (lá no /Library/Application Support/living-e/MAMP PRO/conf/php.ini ) alterei salvei e NADA. Eu alterava o arquivo, salvava e quando abria o arquivo novamente [...]]]></description>
			<content:encoded><![CDATA[<p>Olá galera,</p>
<p>hoje vou dar uma dica que é bem simples:<br />
Usando o <a title="MAMP PRO" href="http://www.mamp.info/en/mamp-pro/" target="_blank">MAMP Pro</a> eu tentei alterar o php.ini e não conseguia, entrei  pelo terminal como root, fui até o caminho do php.ini (lá no /Library/Application Support/living-e/MAMP PRO/conf/php.ini ) alterei salvei e NADA. Eu alterava o arquivo, salvava e quando abria o arquivo novamente minhas alterações não estavam lá.<span id="more-271"></span></p>
<p>Depois de muita procura no <a title="Google" href="http://www.google.com" target="_blank">google</a> e achando até que poderia ser um bug do <a title="MAMP PRO" href="http://www.mamp.info/en/mamp-pro/" target="_blank">MAMP</a>, achei uma solução:</p>
<p>Para alterar o php.ini você deve ir em:</p>
<pre class="brush: php; title: ; notranslate">
MAMP MENU &gt;&gt; FILE &gt;&gt; Edit Template &gt;&gt; PHP5 php.ini
</pre>
<p>e então alterar o template, simples assim.</p>
<p>Alterar diretamente no /Library/Application Support/living-e/MAMP PRO/conf/php.ini não funciona pois ao reiniciar o MAMP esse arquivo é recriado.</p>
<p>Fonte: <a title="Yahoo Answers" href="http://uk.answers.yahoo.com/question/index?qid=20080713133726AAFBRvK" target="_blank">http://uk.answers.yahoo.com/question/index?qid=20080713133726AAFBRvK</a></p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "mac";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/editando-php-ini-no-mamp-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: Aumentando o tamanho máximo de upload</title>
		<link>http://www.emersoncarvalho.com/php-aumentando-o-tamanho-maximo-de-upload/</link>
		<comments>http://www.emersoncarvalho.com/php-aumentando-o-tamanho-maximo-de-upload/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 14:52:12 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[aumentando]]></category>
		<category><![CDATA[max upload size]]></category>
		<category><![CDATA[tamanho upload]]></category>
		<category><![CDATA[upload grandes arquivos]]></category>
		<category><![CDATA[upload php]]></category>

		<guid isPermaLink="false">http://emersoncarvalho.com/?p=217</guid>
		<description><![CDATA[Em alguns projetos, precisamos que o usuário faça o upload de arquivos grandes. Para permitir que isso aconteça no servidor, precisamos de definir algumas variáveis. Para fazer isso, você pode fazer com php, com .htaccess ou diretamente no php.ini: Via php Via .htaccess Via php.ini Para fazer via php.ini, você deve abrir o arquivo php.ini [...]]]></description>
			<content:encoded><![CDATA[<p>Em alguns projetos, precisamos que o usuário faça o upload de arquivos grandes.<br />
Para permitir que isso aconteça no servidor, precisamos de definir algumas variáveis.</p>
<p>Para fazer isso, você pode fazer com php, com .htaccess ou diretamente no php.ini:<br />
<span id="more-217"></span><br />
<strong>Via php</strong></p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
	ini_set('upload_max_filesize','30M');
	ini_set('post_max_size','30M');
	ini_set('max_input_time',300);
	ini_set('max_execution_time',300);
?&gt;
</pre>
<p><strong>Via .htaccess</strong></p>
<pre class="brush: bash; title: ; notranslate">
php_value upload_max_filesize 30M
php_value post_max_size 30M
php_value max_input_time 300
php_value max_execution_time 300
</pre>
<p><strong>Via php.ini</strong></p>
<p>Para fazer via php.ini, você deve abrir o arquivo php.ini e procurar cada uma<br />
das chaves citadas acima e definir os novos valores.</p>
<p>Espero que tenha sido util!</p>
<p>Obrigado.</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "upload php";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/php-aumentando-o-tamanho-maximo-de-upload/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Php/Js Verificar existência de imagem remota</title>
		<link>http://www.emersoncarvalho.com/phpjs-verificar-existencia-de-imagem-remota/</link>
		<comments>http://www.emersoncarvalho.com/phpjs-verificar-existencia-de-imagem-remota/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 15:41:48 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[Jquery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[check image exists]]></category>
		<category><![CDATA[imagem remota]]></category>
		<category><![CDATA[verificar existencia de imagem]]></category>

		<guid isPermaLink="false">http://www.emersoncarvalho.com/?p=175</guid>
		<description><![CDATA[Olá galera, Depois de tanto tempo sem escrever por aqui, hoje vou dar-lhes uma dica muito interessante. O problema era o seguinte, eu tinha a url da imagem, e tinha que verificar se ela existia no servidor (remoto). Pesquisei e encontrei varias formas de fazer isso. Um dos primeiro exemplos que achei foi esse: Problema: [...]]]></description>
			<content:encoded><![CDATA[<p>Olá galera,</p>
<p>Depois de tanto tempo sem escrever por aqui, hoje vou dar-lhes uma<br />
dica muito interessante.</p>
<p>O problema era o seguinte, eu tinha a url da imagem, e tinha que verificar<br />
se ela existia no servidor (remoto).<br />
Pesquisei e encontrei varias formas de fazer isso.<span id="more-175"></span></p>
<p>Um dos primeiro exemplos que achei foi esse:</p>
<pre class="brush: php; title: ; notranslate">
$url=getimagesize(“http://www.google.com/intl/en_com/images/srpr/asdf.png”);

if(!is_array($url))
{
	$default_image =”http://www.google.com/intl/en_com/images/srpr/logo3w.png”;
}
</pre>
<p>Problema: Muito lento.</p>
<p>Outro exemplo:</p>
<pre class="brush: php; title: ; notranslate">
function is_webfile($webfile)
{
 $fp = @fopen($webfile, &quot;r&quot;);
 if ($fp !== false)
  fclose($fp);

 return($fp);
}
is_webfile('http://www.google.com/intl/en_com/images/srpr/asdf.png');
</pre>
<p>Problema: Lento tambem.</p>
<p>Mais um:</p>
<pre class="brush: php; title: ; notranslate">
function checkRemoteFile($url)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    // don't download content
    curl_setopt($ch, CURLOPT_NOBODY, 1);
    curl_setopt($ch, CURLOPT_FAILONERROR, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    if(curl_exec($ch)!==FALSE)
    {
        return true;
    }
    else
    {
        return false;
    }
}
checkRemoteFile('http://www.google.com/intl/en_com/images/srpr/asdf.png');
</pre>
<p>Problema: Um pouco mais rápido que os demais, mas ainda lento.</p>
<p>Solucão: JAVASCRIPT</p>
<pre class="brush: jscript; title: ; notranslate">
function imagePlaceholder()
{
	//Use o seletor jquery para as imagens que deseja usar o placeholder.
	$(SELETOR_JQUERY).each(function(){
		$(this).error(function() {
			$(this).attr('src', 'http://www.google.com/intl/en_com/images/srpr/logo3w.png');
		});
	});
}
</pre>
<p>Com essa solução em javascript funcionou bem e não deixou o site lento.</p>
<p>Espero que seja util.</p>
<p>Obrigado.</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "check image exists";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/phpjs-verificar-existencia-de-imagem-remota/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend Certified Engineer &#8211; ZCE</title>
		<link>http://www.emersoncarvalho.com/zend-certified-engineer-zce/</link>
		<comments>http://www.emersoncarvalho.com/zend-certified-engineer-zce/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 02:49:18 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[architect]]></category>
		<category><![CDATA[certificação]]></category>
		<category><![CDATA[Congratulations]]></category>
		<category><![CDATA[estudos]]></category>
		<category><![CDATA[exame]]></category>
		<category><![CDATA[ipec]]></category>
		<category><![CDATA[pearson vue]]></category>
		<category><![CDATA[phprime]]></category>
		<category><![CDATA[preparatório]]></category>
		<category><![CDATA[prova]]></category>
		<category><![CDATA[Rumo a Certificação]]></category>
		<category><![CDATA[simulados]]></category>
		<category><![CDATA[Yellow Pages]]></category>
		<category><![CDATA[zce]]></category>
		<category><![CDATA[zend]]></category>
		<category><![CDATA[zend certified engineer]]></category>

		<guid isPermaLink="false">http://emersoncarvalho.com/?p=159</guid>
		<description><![CDATA[Agora sou um Zend Certified Engenier &#8211; ZCE! Depois de meses de estudo, finalmente fiz a prova da Pearson Vue e passei! Os estudos começaram em Janeiro/2011, quando decidi fazer o curso preparatório para Certificação com o professor Diego H. Oliveira na Phprime. Depois disso fiz alguns simulados que havia comprado na php&#124;architect e fui [...]]]></description>
			<content:encoded><![CDATA[<p>Agora sou um <a title="Zend Certified Engineer" href="http://www.zend.com/en/services/certification/php-5-certification/" target="_blank">Zend Certified Engenier</a> &#8211; ZCE!</p>
<p>Depois de meses de estudo, finalmente fiz a prova da <a title="Pearson Vue" href="http://www.zend.com/en/services/certification/pearson-vue" target="_blank">Pearson Vue</a> e passei!<span id="more-159"></span><br />
Os estudos começaram em Janeiro/2011, quando decidi fazer o curso preparatório para Certificação com o professor <a title="@diegoholiveira" href="http://diegoholiveira.github.com/" target="_blank">Diego H. Oliveira</a> na <a title="Phprime" href="http://phprime.com.br/curso.php?ac=detalhes&amp;id=9&amp;utm_source=emersoncarvalho&amp;utm_medium=emersoncarvalho&amp;utm_term=emersoncarvalho&amp;utm_content=emersoncarvalho&amp;utm_campaign=emersoncarvalho" target="_blank">Phprime</a>.<br />
Depois disso fiz alguns simulados que havia comprado na <a title="php|archtect" href="http://www.phparch.com/" target="_blank">php|architect</a> e fui estudando aos poucos em casa.</p>
<p>Rapidamente chegou o dia do exame e fui lá na <a title="Ipec" href="http://www.ipec.pro.br/index.php" target="_blank">Ipec</a> pra fazer a prova!</p>
<p>Ao terminar, havia na tela apenas a mensagem &#8220;Congratulations!&#8221;.</p>
<p>E meu <a title="Emerson Carvalho - ZCE" href="http://www.zend.com/en/yellow-pages#show-ClientCandidateID=ZEND016088" target="_blank">nome</a> está nas &#8220;<a title="Yellow Pages" href="http://www.zend.com/en/yellow-pages" target="_blank">Yellow Pages</a>&#8220;&#8230; \o/</p>
<p>Agradeço a todos que me apoiaram, ao <a title="Diego" href="http://diegoholiveira.github.com/" target="_blank">Diego</a> que teve a paciencia de me ajudar a comentar sobre os simulados e tambem ao grupo  &#8220;<a title="Rumo a Certificação PHP" href="http://groups.google.com/group/rumo-a-certificacao-php" target="_blank">Rumo a Certificação PHP</a>&#8221; que diariamente envia perguntas. Agradeço também ao @<a title="Marcos Paulo Corrêa" href="http://twitter.com/marcosmarks" target="_blank">Marcos</a> que em 2008 me falou sobre certificação!</p>
<p>Valeu Galera!</p>
<p>__UPDATE__</p>
<p>Aeee &#8230; meu Certificado Chegou!!!</p>
<p>http://twitpic.com/5j7qnt<br />
<a href="http://www.emersoncarvalho.com/wp-content/uploads/2011/06/zce.jpg"><img class="aligncenter size-medium wp-image-171" title="ZCE" src="http://www.emersoncarvalho.com/wp-content/uploads/2011/06/zce-300x224.jpg" alt="ZCE" width="300" height="224" /></a></p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "Rumo a Certificação";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/zend-certified-engineer-zce/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Regex: código do video do Youtube</title>
		<link>http://www.emersoncarvalho.com/regex-codigo-do-video-do-youtube/</link>
		<comments>http://www.emersoncarvalho.com/regex-codigo-do-video-do-youtube/#comments</comments>
		<pubDate>Fri, 06 May 2011 19:51:14 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[codigo]]></category>
		<category><![CDATA[expressao regular]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[soudev]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://www.emersoncarvalho.com/?p=137</guid>
		<description><![CDATA[Olá pessoal, Se você já trabalhou com o youtube, provavelmente você precisou de pegar o código do video. Fiz aqui uma expressao regular que atende algumas das possíveis urls do yoube que podem conter esses códigos. A regex seria Para usar de forma a pegar todos os códigos de vídeo de uma string, sem que [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal,<br />
Se você já trabalhou com o youtube, provavelmente você precisou de pegar o código do video.<br />
<img src="http://www.emersoncarvalho.com/wp-content/uploads/2011/05/youtube-url1.png" alt="Youtube URL" title="" width="350" height="38" class="aligncenter size-full wp-image-138" /><br />
<span id="more-137"></span><br />
Fiz aqui uma expressao regular que atende algumas das possíveis urls do yoube que podem conter esses códigos.</p>
<pre class="brush: php; title: ; notranslate">
//Urls possíveis
//http://youtu.be/r9dWsSYStRM
//http://www.youtube.com/watch?v=K7ToNJHgp-w
//http://www.youtube.com/v/dTaD9cd8hvw
//http://www.youtube.com/watch?v=0Tb8Jo11uGo&amp;feature=related
</pre>
<p>A regex seria</p>
<pre class="brush: php; title: ; notranslate">
&quot;/youtu(be.com|.b)(\/v\/|\/watch\\?v=|e\/)(.{11})/&quot;
</pre>
<p>Para usar de forma a pegar todos os códigos de vídeo de uma string, sem que eles se repitam.</p>
<pre class="brush: php; title: ; notranslate">
//Lista de urls
$str = &quot;
//http://youtu.be/r9dWsSYStRM
//http://www.youtube.com/watch?v=K7ToNJHgp-w
//http://www.youtube.com/v/dTaD9cd8hvw
//http://www.youtube.com/watch?v=0Tb8Jo11uGo&amp;feature=related
//http://www.youtube.com/watch?v=0Tb8Jo11uGo
//http://www.youtube.com/watch?feature=player_detailpage&amp;v=6PDmZnG8KsM&quot;;

//Regex
//$regex = &quot;/youtu(be.com|.b)(\/v\/|\/watch\\?v=|e\/)(.{11})/&quot;;

//UPDATE - 22-11-2011
$regex = &quot;#youtu(be.com|.b)(/v/|/watch\\?v=|e/|/watch(.+)v=)(.{11})#&quot;;

preg_match_all($regex , $str, $matches);

if(!empty($matches[4]))
{
	$codigos_unicos = array();
	$quantidade_videos = count($matches[4]);
	foreach($matches[4] as $code)
	{
		if(!in_array($code,$codigos_unicos))
			array_push($codigos_unicos,$code);

	}
echo 'códigos encontrados&lt;br/&gt;&lt;pre&gt;';
print_r($codigos_unicos);

}else{
	die('Nenhuma url válida encontrada');
}
</pre>
<p>Se alguem tiver alguma sugestão de melhoria, favor me enviar que eu ficarei agradecido.</p>
<p>Espero que este post possa ser util.<br />
Obrigado.</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "codigo";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/regex-codigo-do-video-do-youtube/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Zend Framework &#8211; Redirecionar para pasta public</title>
		<link>http://www.emersoncarvalho.com/zend-framework-redirecionar-para-pasta-public/</link>
		<comments>http://www.emersoncarvalho.com/zend-framework-redirecionar-para-pasta-public/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 12:59:54 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[aplicacao]]></category>
		<category><![CDATA[configurar]]></category>
		<category><![CDATA[cPanel]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[htdocs]]></category>
		<category><![CDATA[index.php]]></category>
		<category><![CDATA[public]]></category>
		<category><![CDATA[public_html]]></category>
		<category><![CDATA[redirecionamento]]></category>
		<category><![CDATA[redirecionar]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://www.emersoncarvalho.com/?p=125</guid>
		<description><![CDATA[Essa é uma dica muito simples, mas que eu já apanhei muito pra resolver e acredito que algumas pessoas devem passar por isso tambem. O que acontece é o seguinte. Na maioria dos servidores o site começa a ser carregado à partir da pasta public_html, www ou htdocs, e quando você está colocando uma aplicação [...]]]></description>
			<content:encoded><![CDATA[<p>Essa é uma dica muito simples, mas que eu já apanhei muito pra resolver e acredito que algumas<br />
pessoas devem passar por isso tambem.</p>
<p>O que acontece é o seguinte.<br />
Na maioria dos servidores o site começa a ser carregado à partir da pasta public_html, www ou htdocs, e quando<br />
você está colocando uma aplicação em ZEND ela começa na pasta public. Como em algums servidores não dá pra configurar<br />
isso no painel de controle você deve fazer isso via .htaccess.<span id="more-125"></span></p>
<p>A estrutura seria essa:</p>
<pre class="brush: php; title: ; notranslate">
--public_html
  --.htaccess
  --public
	--index.php
  --library
  --application
</pre>
<p>No .htaccess basta colocar o seguinte comando para que a aplicação seja redirecionada para pasta public_html.</p>
<pre class="brush: bash; title: ; notranslate">
RewriteEngine on
RewriteRule ^$ public/ [L]
</pre>
<p>Espero que essa dica ajude alguem!<br />
Obrigado</p>
<p>____UPDATE___<br />
Precisei de usar o código acima em um outro projeto e não deu certinho o redirecionamento para os arquivos de imagens, js e css..<br />
Então continuei as pesquisas e achei um outro bloco que resolve o probelma.<br />
É uma solução útil pra quem hospeda em servidores com cPanel onde não é possível escolher a pasta inicial da aplicação.</p>
<pre class="brush: bash; title: ; notranslate">
# Turn on rewrites.
RewriteEngine on

# Only apply to URLs on this domain
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$

# Only apply to URLs that aren't already under folder.
RewriteCond %{REQUEST_URI} !^/folder/

# Don't apply to URLs that go to existing files or folders.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Rewrite all those to insert /folder.
RewriteRule ^(.*)$ /folder/$1

# Also redirect the root folder.
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ folder/index.php [L]
</pre>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "cPanel";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/zend-framework-redirecionar-para-pasta-public/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Problemas na paginação query_posts() do wordpress</title>
		<link>http://www.emersoncarvalho.com/problemas-na-paginacao-query-posts-do-wordpress/</link>
		<comments>http://www.emersoncarvalho.com/problemas-na-paginacao-query-posts-do-wordpress/#comments</comments>
		<pubDate>Wed, 19 May 2010 21:40:57 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[404]]></category>
		<category><![CDATA[broga]]></category>
		<category><![CDATA[customizado]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[not found]]></category>
		<category><![CDATA[paginação]]></category>
		<category><![CDATA[query_post()]]></category>
		<category><![CDATA[wp]]></category>

		<guid isPermaLink="false">http://www.emersoncarvalho.com/?p=85</guid>
		<description><![CDATA[Olá galera, Hoje trabalhando com o WordPress passei por um problema que eu demorei muito pra resolver. A situação é a seguinte, precisava fazer uma busca nos posts de uma categoria especifica e exibir somente 2 posts. O problema é que usando essa &#8220;query_post()&#8221; customizada, a paginação nativa do WordPress não funcionava corretamente. Sempre apresentava [...]]]></description>
			<content:encoded><![CDATA[<p>Olá galera,</p>
<p>Hoje trabalhando com o <a href="http://www.wordpress.org">WordPress</a> passei por um problema que eu demorei muito pra resolver.</p>
<p>A situação é a seguinte, precisava fazer uma busca nos posts de uma categoria especifica e exibir somente 2 posts.<br />
O problema é que usando essa &#8220;<em>query_post()</em>&#8221; customizada, a paginação nativa do WordPress não funcionava corretamente. Sempre apresentava o erro &#8220;<em>Not Found</em>&#8220;!<br />
<span id="more-85"></span><br />
Pequisei por vários blogs, e encontrei umas respostas bacanas, como a do <a href="http://stylizedweb.com/2008/08/13/query_posts-pagination-problem/">SytlizedWeb</a> , porem mesmo com a solução apresentada, não consegui resolver meu problema.</p>
<p>A solução apresentada foi:</p>
<pre class="brush: php; title: ; notranslate">
if (have_posts()) :
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    query_posts(&quot;category_name=alguma-categoria&amp;showposts=2&amp;paged=$paged&quot;);
    while (have_posts()) : the_post();
	/** Restante do loop **/
</pre>
<p>O problema é que mesmo assim não funcionou, e depois de algum tempo eu fui descobrir que no Wp-Admin em : <strong>Settings>>Reading</strong> você tem a opção de &#8220;<strong>Blog pages show at most</strong>&#8221; que por padrão vem 10. <strong>Sendo assim você deve alterá-la para 1</strong>, pois aí o wordpress ira buscar apenas os posts que você solicitar no parametro &#8220;<strong>showposts</strong>&#8220;.</p>
<p>Obrigado.<br />
[ratings]</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "wp";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/problemas-na-paginacao-query-posts-do-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Jquery Validation Campo único (login, email,etc&#8230;)</title>
		<link>http://www.emersoncarvalho.com/jquery-validation-campo-unico/</link>
		<comments>http://www.emersoncarvalho.com/jquery-validation-campo-unico/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 13:30:59 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[Jquery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[broga]]></category>
		<category><![CDATA[campo único]]></category>
		<category><![CDATA[jquery valitation]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[validação remota]]></category>
		<category><![CDATA[validate]]></category>

		<guid isPermaLink="false">http://www.emersoncarvalho.com/?p=58</guid>
		<description><![CDATA[Após um bom tempo sem postar, estou de volta. Dessa vez eu vou falar um pouco sobre o jQuery Valitation um plugin do jQuery para validação de campos. Vou abordar sobre uma validação remota que está presente nesse plugin e é muito útil para validar campos únicos em formulário. Por exemplo, no seu site, você [...]]]></description>
			<content:encoded><![CDATA[<p>Após um bom tempo sem postar, estou de volta.</p>
<p>Dessa vez eu vou falar um pouco sobre o<a title="Jquery Validation" href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/" target="_blank"> jQuery Valitation</a> um plugin do <a title="jQuery" href="http://www.jquery.com" target="_blank">jQuery </a>para validação de campos.<br />
Vou abordar sobre uma validação remota que está presente nesse plugin e é muito útil para validar campos únicos em formulário.</p>
<p>Por exemplo, no seu site, você tem um formulário de cadastro que tem os campos login e senha, mas o campo de login deve ser único e você quer fazer essa validação usando o plugin Validation.<span id="more-58"></span></p>
<p>1º passo: Incluir o jQuery e o plugin Validation ao seu html:</p>
<pre class="brush: xml; title: ; notranslate">&lt;!-- Inclusão do Jquery --&gt;
&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;!--mce:0--&gt;&lt;/script&gt;
&lt;!-- Inclusão do Jquery Validate --&gt;
&lt;script src=&quot;http://ajax.microsoft.com/ajax/jquery.validate/1.6/jquery.validate.js&quot; type=&quot;text/javascript&quot;&gt;&lt;!--mce:1--&gt;&lt;/script&gt;</pre>
<p>2º passo: Criar o formulário:</p>
<pre class="brush: xml; title: ; notranslate">&lt;form id=&quot;meu_form&quot; method=&quot;post&quot;&gt;
Login:
&lt;input id=&quot;login&quot; name=&quot;login&quot; type=&quot;text&quot; /&gt;
Senha:
&lt;input id=&quot;senha&quot; name=&quot;senha&quot; type=&quot;password&quot; /&gt;
&lt;input type=&quot;submit&quot; value=&quot;Cadastrar&quot; /&gt;
&lt;/form&gt;
</pre>
<p>3º passo: Fazer a validação</p>
<pre class="brush: jscript; title: ; notranslate">&lt;!-- Validação do forumlário --&gt;
$(document).ready(function(){
				$('#meu_form').validate({
					rules:{
						login:{ required: true, remote: 'verifica.php' }
					},
					messages:{
						login:{ required: 'Este Campo é obrigatorio' , remote: 'Este Login já está em uso.'}
					}

				});
			});</pre>
<p>Repare que o campo &#8216;login&#8217; tem a validação &#8216;required&#8217; (campo obrigatório) e a validação &#8216;remote&#8217; (remota), sendo assim quando o usuário acaba de digitar o login ele vai no servidor e passa esse valor via GET</p>
<p style="text-align: center;">Pelo firebug podemos observar a requisição sendo feita ao servidor:<br />
<img class="aligncenter size-full wp-image-59" title="validation_campo_unico_1" src="http://www.emersoncarvalho.com/wp-content/uploads/2010/04/validation_campo_unico_1.png" alt="validation_campo_unico_1" width="418" height="222" /></p>
<p>Como no validate colocamos  remote: &#8216;verifica.php&#8217; , é enviado o parametro login (nome do campo) e o valor digitado.<br />
No arquivo verifica.php, recebemos esse valor com o $_GET['login'] , fazemos a consulta no banco e então</p>
<pre class="brush: php; title: ; notranslate">//Se o login já existir você exibe false
echo 'false';
//Se o login não existir
echo 'true';</pre>
<p>pois essa verificação retorna ao validate se o campo é válido ou não.</p>
<p><a title="Jquery Validation Campo único" href="http://www.emersoncarvalho.com/tutoriais/58-campo_unico/" target="_blank">Veja o Demo.</a></p>
<p><a title="download Jquery Validation Campo unico Tutorial" href="http://www.emersoncarvalho.com/tutoriais/58-campo_unico/58-campo_unico.rar" target="_blank">Faça o download dos arquivos.</a></p>
<p>Espero que tenham gostado.<br />
Obrigado pela visita.</p>
<p>Dê sua nota: [ratings]</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "broga";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/jquery-validation-campo-unico/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Como descobrir se a requisição é AJAX com o php</title>
		<link>http://www.emersoncarvalho.com/como-descobrir-se-a-requisicao-e-ajax-com-o-php/</link>
		<comments>http://www.emersoncarvalho.com/como-descobrir-se-a-requisicao-e-ajax-com-o-php/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 12:15:28 +0000</pubDate>
		<dc:creator>@emersonbroga</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[broga]]></category>
		<category><![CDATA[descobrir]]></category>
		<category><![CDATA[request]]></category>
		<category><![CDATA[requisicao]]></category>

		<guid isPermaLink="false">http://www.emersoncarvalho.com/?p=40</guid>
		<description><![CDATA[Olá &#8230;. Vi pelo twitter um post do @ErickBelfy que tinha um link para o site http://www.electrictoolbox.com/how-to-tell-ajax-request-php/ e resolvi postar em meu blog essa dica. Geralmente quando eu envio uma requisição ajax para o php eu passo via GET um valor informando que o processamento é assincrono então eu faço algo do tipo pagina.php?ajax=1 O [...]]]></description>
			<content:encoded><![CDATA[<p>Olá &#8230;.</p>
<p>Vi pelo twitter um post do @ErickBelfy que tinha um link para o site<a title="Electric Tool Box" href="http://www.electrictoolbox.com/how-to-tell-ajax-request-php/" target="_blank"> http://www.electrictoolbox.com/how-to-tell-ajax-request-php/</a> e resolvi postar em meu blog essa dica.<span id="more-40"></span></p>
<p>Geralmente quando eu envio uma requisição ajax para o php eu passo via GET um valor informando que o processamento é assincrono então eu faço algo do tipo</p>
<p>pagina.php?ajax=1</p>
<pre class="brush: php; title: ; notranslate">&lt;?php if(isset($_GET['ajax']) //é requisição ajax else // requisição comum. ?&gt;</pre>
<p>O interessante é que usando a variavel $_SERVER eu consigo identificar se a requisição é assincrona ou não:</p>
<pre class="brush: php; title: ; notranslate">&lt;?php if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) &amp;&amp; strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') //é uma requisição ajax else // é uma requisição comum ?&gt;</pre>
<p>e para melhorar o código fica mais prático criar uma constante que contenha esse valor</p>
<pre class="brush: php; title: ; notranslate">&lt;?php define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) &amp;&amp; strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'); //então if(IS_AJAX) //é uma requisição ajax else //é uma requisição comum ?&gt;</pre>
<p>#ficaADica</p>
<p>Obrigado por visitar o blog.<br />
[ratings]</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "descobrir";
            bb_bid  = "51002";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.emersoncarvalho.com/como-descobrir-se-a-requisicao-e-ajax-com-o-php/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

