<?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>Kynho Blog - Programação, Design, Web e afins. &#187; PHP</title>
	<atom:link href="http://www.kynho.com/blog/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kynho.com/blog</link>
	<description>Blog do desenvolvedor web kynho.</description>
	<lastBuildDate>Wed, 02 Jun 2010 22:04:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Hífen nos controllers do codeigniter</title>
		<link>http://www.kynho.com/blog/2010/05/23/hifen-nos-controllers-do-codeigniter/</link>
		<comments>http://www.kynho.com/blog/2010/05/23/hifen-nos-controllers-do-codeigniter/#comments</comments>
		<pubDate>Mon, 24 May 2010 02:12:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.kynho.com/blog/?p=54</guid>
		<description><![CDATA[Recentemente o analista da agência onde trabalho (analista web que fique claro), me disse que o google vê diferença sim, entre hífens(-) e underlines (_), e que os primeiros são preferíveis.
Resumindo a opera, precisei mudar a forma como o codeigniter interpreta os controllers através da uri, pois como sabemos, não é possível usar hífen nos [...]]]></description>
			<content:encoded><![CDATA[<p>Recentemente o analista da agência onde trabalho (analista web que fique claro), me disse que o google vê diferença sim, entre hífens(-) e underlines (_), e que os primeiros são preferíveis.<br />
Resumindo a opera, precisei mudar a forma como o codeigniter interpreta os controllers através da uri, pois como sabemos, não é possível usar hífen nos nomes dos controllers.<br />
Entre todas as soluções que pesquisei, encontrei uma no <a href="http://codeigniter.com/forums/viewthread/124396/#644012">fórum do codeigniter.com</a> que achei bem simples e funcional, segue:<br />
Dentro da pasta application/config abra o arquivos hooks.php e adicione a ele as seguintes linhas:<br />
<code><br />
<span style="color: #00ffff;">var  $remove_acentos    =  TRUE;</span></code></p>
<p><code><span style="color: #00ffff;"> $hook['pre_system'] = array(<br />
'class'    =&gt; '',<br />
'function' =&gt; 'prettyurls',<br />
'filename' =&gt; 'myhooks.php',<br />
'filepath' =&gt; 'hooks',<br />
'params'   =&gt; array()<br />
);<br />
</span></code><br />
Em seguida dentro da pasta application/hooks, crie um arquivo com o nome informado no passo anterior, neste caso myhooks.php, com a função também informada no passo acima:<br />
<code><span style="color: #00ffff;"><br />
function prettyurls() {<br />
if (is_array($_GET) &amp;&amp; count($_GET) == 1 &amp;&amp; trim(key($_GET), '/') != '') {<br />
$newkey = str_replace('-','_',key($_GET));<br />
$_GET[$newkey] = $_GET[key($_GET)];<br />
unset($_GET[key($_GET)]);<br />
}<br />
if (isset($_SERVER['PATH_INFO'])) $_SERVER['PATH_INFO'] = str_replace('-','_',$_SERVER['PATH_INFO']);<br />
if (isset($_SERVER['QUERY_STRING'])) $_SERVER['QUERY_STRING'] = str_replace('-','_',$_SERVER['QUERY_STRING']);<br />
if (isset($_SERVER['ORIG_PATH_INFO'])) $_SERVER['ORIG_PATH_INFO'] = str_replace('-','_',$_SERVER['ORIG_PATH_INFO']);<br />
if (isset($_SERVER['REQUEST_URI'])) $_SERVER['REQUEST_URI'] = str_replace('-','_',$_SERVER['REQUEST_URI']);</span></code></p>
<p>}</p>
<p>Agora basta habilitar os hooks no config.php e provavelmente tudo funcionará como o esperado:<br />
<code><span style="color: #00ffff;"><br />
$config['enable_hooks'] = TRUE;<br />
</span></code><br />
Agora um controller que antes era chamado através da url “conheca_a_empresa”, por exemplo, poderá ser chamado através da uri “conheca-a-empresa”, sem que você tenha a necessidade de mexer na estrutura que você já tinha.<br />
O mais legal desta solução é que você pode continuar chamando os controllers da maneira antiga, o que garante que sua aplicação continue funcionando sem nenhum tipo de problema.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kynho.com/blog/2010/05/23/hifen-nos-controllers-do-codeigniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problema com acentos na classe upload do Codeigniter</title>
		<link>http://www.kynho.com/blog/2009/11/09/problema-com-acentos-na-classe-upload-do-codeigniter/</link>
		<comments>http://www.kynho.com/blog/2009/11/09/problema-com-acentos-na-classe-upload-do-codeigniter/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 00:28:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[acentos upload codeigniter]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[upload acentos]]></category>
		<category><![CDATA[upload codeigniter]]></category>

		<guid isPermaLink="false">http://www.kynho.com/blog/?p=48</guid>
		<description><![CDATA[Tentarei explicar de forma simples como resolver o problema que encontramos quando fazemos upload de arquivos com acentos usando a classe upload do codeigniter.
Não vou entrar em detalhes do funcionamento do framework neste post, desta forma  suponho que o leitor saiba que existem duas pastas libraries, uma dentro da pasta application e outra na pasta [...]]]></description>
			<content:encoded><![CDATA[<p>Tentarei explicar de forma simples como resolver o problema que encontramos quando fazemos upload de arquivos com acentos usando a classe upload do codeigniter.</p>
<p>Não vou entrar em detalhes do funcionamento do <a href="http://codeigniter.com/" target="_blank">framework</a> neste post, desta forma  suponho que o leitor saiba que existem duas pastas libraries, uma dentro da pasta application e outra na pasta system. Na librarie da pasta application geralmente temos as livrarias da nossa aplicação e também as livrarias extendidas da pasta librarie que fica dentro da pasta system, ufa.</p>
<p>Muitos aconselhariam fazer uma livraria extendida da classe Upload para não alterar a classe Upload do core. Eu particularmente preferi alterar direto no core já que retirar acentos de arquivos é  sempre necessário e deveria vir por padrão no <a href="http://codeigniter.com/" target="_blank">Codeigniter</a>.</p>
<p>Vamos a prática:</p>
<p>- Abra o arquivo Upload .php localizado na pasta libraries dentro da pasta system.</p>
<p>- Logo no inicio, abaixo de  &#8220;class CI_Upload {&#8221;  existem varias variáveis. Crie abaixo destas variáveis uma nova, exemplo:<br />
<code><br />
<span style="color: #00ffff;">var $remove_acentos    =  TRUE;</span><br />
</code><br />
o valor deve ser TRUE, indicando que esta função deve ser executada por default, ou seja por padrão toda vez que a classe for usada.</p>
<p>- O próximo passo é criar a função anterior. Esta função pode ser feita de diversas formas, escolhi a que julgo melhor:<br />
<code><br />
<span style="color: #00ffff;">if ($this-&gt;remove_acentos == TRUE)<br />
{<br />
$str = array('/[ÂÀÁÄÃ]/' =&gt; 'A',<br />
'/[âãàáä]/' =&gt; 'a',<br />
'/[ÊÈÉË]/' =&gt; 'E',<br />
'/[´`^~]/' =&gt; '_',<br />
'/[êèéë]/' =&gt; 'e',<br />
'/[ÎÍÌÏ]/' =&gt; 'I',<br />
'/[îíìï]/' =&gt; 'i',<br />
'/[ÔÕÒÓÖ]/' =&gt; 'O',<br />
'/[ôõòóö]/' =&gt; 'o',<br />
'/[ÛÙÚÜ]/' =&gt; 'U',<br />
'/[ûúùü]/' =&gt; 'u',<br />
'/ç/' =&gt; 'c',<br />
'/Ç/' =&gt; 'C',<br />
'/ñ/' =&gt; 'n',<br />
'/Ñ/' =&gt; 'ñ'<br />
);</span></code></p>
<p><span style="color: #00ffff;">$this-&gt;file_name = preg_replace(array_keys($str), array_values($str),$this-&gt;file_name);<br />
}</span></p>
<p>- Caso você ainda encontre problemas, pode ser por causa da codificação que esta usando, neste caso acrescente no final da função a função utf8_decode() do php , ficando assim:<br />
<code><br />
<span style="color: #00ffff;">$this-&gt;file_name = preg_replace(array_keys($str), array_values($str), utf8_decode($this-&gt;file_name));</span></code><br />
Este método funciona 100% e com isso os arquivos que forem enviados por upload no codeigniter não causarão mais erros.<br />
Qualquer duvida os comments estão ai :D</p>
<div class="translator-floating-panel" style="background: none repeat scroll 0% 0% #d9c6b6; border: 2px ridge #784f2b; bottom: auto; cursor: pointer; height: auto; left: 86px; margin: 0px; padding: 0px; position: fixed; right: auto; top: 95px; width: auto; z-index: 2147483647; opacity: 0.4; display: block;"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.kynho.com/blog/2009/11/09/problema-com-acentos-na-classe-upload-do-codeigniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
